一、数据定义语言: DDL
1.1 创建和管理数据库
a.创建数据库[create]
方式1:
create database db1_test;
方式2: 指定字符集
create database db1_test character set 'utf8';
方式3: 判断该数据库是否不存在
create database if not exists db1_test;
b.使用数据库(查看[show],使用[use])
查看所有数据库:
show databases;
查看数据库创建信息:
show create database db1_test;
查看指定数据库下的表:
show tables from db1_test;
使用(切换)数据库:
use db1_test;
c.修改数据库(字符集[alter])
alter database db1_test character set 'gbk';
d.删除数据库[drop]
方式一:
drop database db1_test;
方式二: 判断该数据库是否已经存在
drop database if exists db1_test
1.2 创建和管理表
a.创建表[create]
方式一:
create table [if not exists] table_01 (
字段 数据类型 [约束条件] [默认值],
id INT UNIQUE DEFAULT 3,
first_name CHAR(10) DEFAULT '张三',
salary INT
);
方式二: 基于当前的表创建新的表
create table [if not exists] table_01
as
select *
from table_02
where ...;
b.修改表[alter]
增加一个字段:[add]
alter table table_01
add last_name varchar(5) [DEFAULT 默认值] [not null] [AFTER first_name|first];
修改一个字段:[modify]
alter table table_01
modify last_name char(5) [DEFAULT 默认值] [not null] [AFTER first_name|first]; // 数据类型可以不修改,但一定要加上。
重命名一个字段:[change]
alter table table_01
change id employee_id varchar(10); // 数据类型也可一同修改
删除一个字段:[drop]
alter table table_01
drop last_name;
c.重命名表[rename]
方式一:
rename table table_01
to table_03;
方式二:
alter table table_01
rename table_03;
d.删除表[drop]
drop table [if exists] table_01,table_02,table_03 ...
e.清空表[truncate]
truncate table table_01;
二、数据操作语言: DML
2.1 增(insert)
方式一: values的方式添加
insert into table_01(id, first_name, salary) // 可指定字段顺序
values (value1,value2,....);
insert into table_01 // 默认字段顺序
values
(value1,value2,....),
(value1,value2,....),
(value1,value2,....);
方式二: 将查询结果插入到表中
insert into table_01(id, first_name, salary) // 要求字段一一对应
select id, first_name, salary
from table_02
where salary > 10000;
2.2 改(update)
update table_01
SET salary = salary + 1500
WHERE first_name = '李四';
2.3 删(delete)
delete from table_01
where first_name = '张三';
三、数据查询语言: DQL
编写的顺序:
SELECT ..., ...
FROM ... (LEFT/RIGHT)JOIN ... ON 多表连接条件
JOIN ... ON ...
WHERE 不包含聚合函数的过滤条件
GROUP BY ..., ...
HAVING 包含聚合函数的过滤条件
ORDER BY ..., ...(ASC/DESC)
LIMIT ..., ...
运行的顺序: (1.筛选 – 2.选择 – 3.排列)
【SELECT ..., ...】 /* 2、选择 */
【FROM ... (LEFT/RIGHT)JOIN ... ON 多表连接条件 /* 1、筛选 */
JOIN ... ON ...
WHERE 不包含聚合函数的过滤条件
GROUP BY ..., ...
HAVING 包含聚合函数的过滤条件】
【ORDER BY ..., ...(ASC/DESC) /* 3、排列 */
LIMIT ..., ...】