DML语言,即数据操作语言
插入 insert
语法:
- insert into 表名(列名,…) values (value1,…)[,(value1,…),…];
- insert into 表名1 select * from 表名2;
- insert into 表名 set 列名=值, 列名=值;
修改 update
- 修改单表中的记录
语法:
- update 表名 set 列 = 新值,列=新值,… where 筛选条件;
- 修改多表中的记录
update 表1 别名 inner | left | right join 表2 别名 on 连接条件 set 列=值,… where 筛选条件;
update boys bo
right join beauty b on bo.id = b.boyfriend_id
set b.boyfriend_id = 2
where bo.id is null
删除 delete
-
单表的删除
语法 delete from 表 where 筛选条件; truncate table 表;
-
多表的删除
delete 表1的别名,表二的别名 from 表1 别名1 innner | left | right join 表2 别名2 on 连接条件 set 列=值,… where 筛选条件;
-
delete 与 truncate的区别
- delete 可以加 where 条件,truncate 不能加
- truncate 删除,效率高一些
- 假如要删除表中数有自增长的列。如果用delete删除后,再插入数据,自增长列从断点开始,而truncate清空表中数据后,再插入数据,自增长列从1开始。
- truncate 删除没有返回值,而delete删除有返回值。
- truncate 删除不能回滚,delete 删除可以回滚。
DDL 语言,即数据定义语言
库的管理
- 库的创建
create database 库名;
create database if not exists 库名;
- 库的修改
alter database books character set 字符集;
- 删除库
drop database if exists 库名;
表的管理
- 表的创建
create table if not exists 表名(
列名 列的类型[(长度) 约束]
[,列名 列的类型[(长度) 约束]]
);
- 表的修改
- 修改列名
alter table book change [column] publishdate pubdate datetime;
- 修改列的类型或约束
alter table book modify column pubdate timestamp;
- 添加新列
alter table book add column annual_salary double;
- 删除列
alter table book drop column annual_salary;
- 修改表名
alter table book rename to english_book;
- 表的删除
drop table if exists book;
- 表的复制
- 只复制表结构
create table book_copy like book;
create table book_copy select * from book where 1=0;
- 复制表结构+数据
create table book_copy select * from book;
表的常见数据类型
- 数值型
- 整型:tinyint、smallint、Mediumint、int、integer、bigint
- 浮点型
- 字符型
- 保存较短的文本:char、varchar
- 保存较长的文本:text、blob(较长的二进制数据)
- 日期型
|