- 数据定义语言(Data Definition Language) DDL--用来定义数据库对象:数据库,表,列……
- 数据操作语言(Data Manipulation Language) DML--用来对数据库中表的记录进行更新。
- 数据查询语言(Data Query Language) DQL--用来查询数据库中表的记录。
- 数据控制语言(Data Control Language) DCL
DDL:
1.创建数据库
create database 数据库名;
create database 数据库名 character set 字符集; //字符集一般为uft-8,第二个语句是创建数据的同时并设置了字符集。
2.查看数据库
use 数据库名; //切换数据库
show databases; //查看MySQL中都有哪些数据库
select database(); //查看当前正在使用的数据库
show create database 数据库名; //查看一个数据库的定义信息
3.修改数据库字符集
alter database 数据库名 character set 字符集;
4.删除数据库
drop database 数据库名;
5.创建表
CREATE TABLE 表名(
字段名称1 字段类型(长度),
字段名称2 字段类型(长度)
//注意:最后一个字段名称末尾不加,
);
/*常用的数据类型
int 整型 double 浮点型 varchar 字符串
data 日期类型,yyyy-MM-dd 年-月-日
注意: char也表示字符串,但是跟varchar是有区别的
char和varchar区别:
char类型是固定长度的,varchar是根据输入字符分配合适的空间,一般情况下用varchar
*/
6.查看表
show tables; //查看当前数据库所有的表
desc 表名; //查看表的结构
7.修改表
rename table 旧表名 to 新表名; // 修改表名
alter table 表名 character set 字符集; //修改字符集
alert table 表名 add 字段名称 字段类型; //向表中添加字段
alter table 表名 drop 字段名; //删除字段
8.删除表
drop 表名 if exists 表名; //删除该表
DML:
1.插入数据
insert into 表名 (字段名1,字段名2...) values(字段值1,字段值2...);
2.更改数据
update 表名 set 列名 = 值 [where 字段名 = 值];
3.删除数据
delete from 表名 [where 字段名 = 值];
DQL:
1.简单查询
select 列名 from 表名; //列名可以用*号代替表示查询所有字段
2.条件查询
select 列名 from 表名 where 条件表达式;
// %表示任意多个字符串, _表示匹配一个字符,
3.排序
SELECT 字段名 FROM 表名 [WHERE 字段 = 值] ORDER BY 字段名 [ASC / DESC];
// ASC 表示升序排序(默认),DESC表示降序排序
4.聚合函数
/*常用聚合函数
* count(字段) 统计指定列不为NULL的记录行数
* sum(字段) 计算指定列的数值和
* max(字段) 计算指定列的最大值
* min(字段) 计算指定列的最小值
* avg(字段) 计算指定列的平均值
*/
SELECT 聚合函数(字段名) FROM 表名;
5.分组
SELECT 分组字段/聚合函数 FROM 表名 GROUP BY 分组字段 [HAVING 条件];
6.limit关键字
SELECT 字段1,字段2... FROM 表名 LIMIT offset , length;
// offset 起始行数, 从0开始记数, 如果省略 则默认为 0.
// length 返回的行数
DCL
1.创建用户
CREATE USER '用户名'@'主机名' IDENTIFIED BY '密码';
2.给用户授权
GRANT 权限 1, 权限 2... ON 数据库名.表名 TO '用户名'@'主机名';
3.查看权限
SHOW GRANTS FOR '用户名'@'主机名';
4.删除用户
DROP USER '用户名'@'主机名';
5.查询用户
SELECT * FROM USER;