mysql安装启动
1. centos安装mysql,联网输入命令(还有其他安装方式,如源码和rpm包)
安装成功后:
注:在root用户下
2.启动mysqld(server), 可以看出mysql server网络部分是基于tcp的,推测出mysql是可以在本地使用,可以跨网络(这里就不写跨网络的了)
注:这里password可以设置为空。
创建用户与授权
1.创建用户
:CREATE USER 'username'@'host' IDENTIFIED BY 'password';
2.授权
说明: privileges - 用户的操作权限,如SELECT , INSERT , UPDATE 等。如果要授予所的权限则使用ALL.;databasename - 数据库名,tablename-表名,如果要授予该用户对所有数据库和表的相应操作权限则可用*表示, 如*.*。
GRANT privileges ON databasename.tablename TO 'username'@'host';
3.设置与更改用户密码
SET PASSWORD FOR 'username'@'host' = PASSWORD('newpassword');如果是当前登陆用户用SET PASSWORD = PASSWORD("newpassword");
例子: SET PASSWORD FOR 'pig'@'%' = PASSWORD("123456");
4.撤销用户权限
REVOKE privilege ON databasename.tablename FROM'username'@'host';
说明: privilege, databasename, tablename - 同授权部分
5.删除用户
DROP USER 'username'@'host';
基本概念
RDBMS [关系数据库管理系统(Relational Database Management System)]
RDBMS的一些术语:
数据库: 数据库是一些关联表的集合。.
数据表: 表是数据的矩阵。在一个数据库中的表看起来像一个简单的电子表格。
列: 一列(数据元素) 包含了相同的数据, 例如邮政编码的数据。
行:一行(=元组,或记录)是一组相关的数据,例如一条用户订阅的数据。
冗余:存储两倍数据,冗余可以使系统速度更快。
主键:主键是唯一的。一个数据表中只能包含一个主键。你可以使用主键来查询数据。
外键:外键用于关联两个表。
复合键:复合键(组合键)将多个列作为一个索引键,一般用于复合索引。
索引:使用索引可快速访问数据库表中的特定信息。索引是对数据库表中一列或多列的值进行排序的一种结构。类似于书籍的目录。
参照完整性: 参照的完整性要求关系中不允许引用不存在的实体。与实体完整性是关系模型必须满足的完整性约束条件,目的是保证数据的一致性。
mysql 常见操作
1. 进入本地数据库(测试)
2. 显示当前数据库并创建/删除数据库
show databases;
注:分号不能少
创建并显示:
create database "";
删除并显示:
命令:drop databases "";
3. 查看选定数据库表信息(建表)
例子:创建一个菜单,分别有日期(主键),早餐,午餐,晚餐。
CREATE TABLE table_name (column_name column_type);
显示表:
4.插入数据MySQL 表中使用 INSERT INTO SQL语句来插入数据。
例子:在表中插入8-1到8-4早中晚的主餐。
INSERT INTO table_name ( field1, field2,...fieldN )
VALUES
( value1, value2,...valueN );
插入结果显示:
5.查询指定记录
SELECT field1, field2,...fieldN table_name1, table_name2...
[WHERE Clause]
[OFFSET M ][LIMIT N]
6.where语句
SELECT field1, field2,...fieldN FROM table_name1, table_name2...
[WHERE condition1 [AND [OR]] condition2.....
7.修改数据
UPDATE table_name SET field1=new-value1, field2=new-value2
[WHERE Clause]
8.删除数据
DELETE FROM table_name [WHERE Clause]
例子:删除晚餐是apple的记录
9.LINK子句
它是是从表中读取数据的基本语法,与where的“=”类似。
SELECT field1, field2,...fieldN table_name1, table_name2...WHERE field1 LIKE condition1 [AND [OR]] filed2 ='somevalue'
10.MySQL排序
如果我们需要对读取的数据进行排序,我们就可以使用MySQL的 ORDER BY 子句来设定你想按哪个字段哪中方式来进行排序,再返回搜索结果。
SELECT field1, field2,...fieldN table_name1, table_name2...
ORDER BY field1, [field2...] [ASC [DESC]]
例子:按照降序排列(注:DESC的ASC分别表示降序和升序)