注意:MySQL指令不区分大小写,utf8mb4可以存储中文
创建数据库
CREATE DATABASE 数据库名;
删除数据库
DROP DATABASE 数据库名;
使用数据库
use 数据库名
查看数据库/表
show databases/tables;
创建数据表
CREATE TABLE table_name(column_name column_type);
例子:

image.png

image.png
删除数据表
drop table table_name;
插入数据
插入单行数据:
insert into table_name(filed1,field2,...fieldn)
values(value1,value2,...,valuen);
如果添加数据的时候按照规定列进行添加,可以不用列出(file1,...fieldn)。
插入多行数据:
INSERT INTO table_name (field1, field2,...fieldN)
VALUES
(valueA1,valueA2,...valueAN),
(valueB1,valueB2,...valueBN),
(valueC1,valueC2,...valueCN)......;

image.png

image.png
查询数据
SELECT column_name,column_name
FROM table_name
[WHERE Clause]
[LIMIT N][ OFFSET M]
1.查询多个表,表之间用逗号。
2.查询所有字段使用 *。

image.png

查询

image.png
update更新
UPDATE table_name SET field1=new-value1, field2=new-value2
[WHERE Clause]

image.png
delete删除
DELETE FROM table_name [WHERE Clause]
注意如果没有where语句,将删除所有记录。
另外,delete仅仅删除表数据,表结构还在,drop删除表数据和结构。
like字句
SELECT field1, field2,...fieldN
FROM table_name
WHERE field1 LIKE condition1 [AND [OR]] filed2 = 'somevalue'
1.可以用like代替=。
2.%可代替0个或多个字符,_可代替一个字符。

image.png
union操作符
SELECT expression1, expression2, ... expression_n
FROM tables
[WHERE conditions]
UNION [ALL | DISTINCT]
SELECT expression1, expression2, ... expression_n
FROM tables
[WHERE conditions];
1.expression1,...,expression_n是要检索的列。
2.tables:要检索的列。
3.distinct:删除结果中的重复数据,默认情况下union操作符已经删除了重复数据。
4.all:返回所有结果集,包括重复数据。
排序
SELECT field1, field2,...fieldN FROM table_name1, table_name2...
ORDER BY field1 [ASC [DESC][默认 ASC]], [field2...] [ASC [DESC][默认 ASC]]
asc升序,desc降序。

image.png
group by语句
SELECT column_name, function(column_name)
FROM table_name
WHERE column_name operator value
GROUP BY column_name;
function可以是count,sum,avg等函数。

image.png

image.png
连接
1.inner join(内连接,等值连接,可以省略inner):获取两个表中字段匹配关系的记录。
2.left join(左连接):获取左表所有记录,即使右表没有对应匹配的记录。
3.right join(右连接):获取右表所有记录,即使左表没有对应匹配的记录。
null值处理
is null:当列的值为null,返回true。
is not null:当列的值不为null,返回true。
<=>比较操作符,当比较的两个值相等或者都为null时返回true。
alter
删除字段:
alter table table_name drop column;
增加字段:
alter table table_name add field type;
修改字段类型:
alter table table_name modify field type;
修改字段名字、类型:
alter table table_name change old_field_name new_field_name type;