目录
一、简述
关于DQL,DDL,DML,TCL的含义,简单来说就是sql语言细分下来的语句。
DQL (Data Query Lanaguage) 数据查询语言
DDL (Data Definition Lanaguage) 数据定义语言
DQL (Data Manipulation Lanaguage) 数据操作语言
TCL (Transaction Control Lanaguage) 事务控制语言
关于DQL 可以参考我的上一篇博客:
MySql & DQL语言_H445584704的博客-CSDN博客
本次分享的是有关DML和DDL的。
二、DML
DML主要要理解和掌握的就三个,新增,更新,删除。
1、insert
- 语法一:insert into 表名(列名,...) values(值1,...)
- 语法二:insert into 表名 set 列名=值,...
举例:
先新建一个test库,然后里面有个info表(此时为空表),字段有id,name。
采用语法一插入数据:
采用语法二插入:
2、update
修改单表语法:
update 表名 set 列=新值
修改多表语法:
sql92语法:
update 表1,表2 set 列=值 ... where 连接条件 and 筛选条件
sql99语法:
update 表1 inner | left | right join 表2 on 连接条件 set 列=值,...where 筛选条件;
简单举例:
就上面那个表,把id为2的name改为Jike。
3、delete
语法:
单表删除:(方式一)delete from 表名 where 筛选条件
(方式二)truncate table 表名 删除所有行,表还在
多表删除:
sql92语法:
delete 表1的别名,表2的别名 from 表1 别名 ,表2 别名 where 连接条件 and 筛选条件
sql99语法:
delete 表1的别名,表2的别名 from 表1 别名 inner | left | right join 表2 别名 on 连接条件 where 筛选条件
三、DDL
1、库的管理
- 创建:create database (if not exists) 库名
- 更改库的字符集:alter database 库名 character set 字符集;
- 删掉库:drop database (if exists) 库名
2、表的管理
创建表
create table 表名(列名 类型【约束】,列名 类型【约束】......)
修改表
- 修改列名 alter table 表名 change column 列名 新列名 类型;
- 修改列的类型或者约束 alter table 表名 modify column 列名 新类型
- 添加新列 alter table 表名 add column 新列名
- 删除列 alter table 表名 drop column 要删掉的列名
- 修改表名 alter table 表名 rename to 新表名
删除表
语法:
drop table (if exists)表名
复制表
- 仅复制表的结构 copy table 表名 like 被复制的表名
- 复制结构+数据 create table 表名 select * from 被复制的表名
- 只赋值部分数据 create table 表名 select 列名,...... from 被复制的表 where 条件
- 仅仅复制某些字段 create table 表名 select 字段,...... from 被复制的表 where(不成立的条件 比如 0)
3、数据类型
4、六大约束
- not null 非空
- default 默认值
- primary key 主键
- unique 唯一性
- check 检查约束
- foreign 外键
5、标识列
自增
语法:
字段后跟 auto_increment
set auto_increment_increment = 步长 修改自增步长
关于TCL,下篇博客会进行分享。