Data Manipulation Language 数据操纵语言
用来实现对数据的增删改
insert , update , delete
增
插单行:
INSERT INTO 表名(字段1,字段2,...)
VALUES (值1,值2)
插多行
INSERT INTO 表名(字段1,字段2,...)
VALUES (值11,值12,...),(值21,值22,...),(值31,值32,...)......
特点:
1.字段名和值一一对应
2.数值类型不用单引号,其它必须用单引号
普通插入:
INSERT INTO tql(i,aname,sss,email)
VALUES (66,'hhh','牛','2979083263@qq.com');
空字段或默认字段的插入:
1.不写这个字段
INSERT INTO tql(i,aname,sss)
VALUES (66,'hhh','牛');
2.插入null\default值
INSERT INTO tql(i,aname,sss,email)
VALUES (66,'hhh','牛',NULL/DEFAULT);
插入一行的所有字段,不写字段名,默认全部字段
INSERT INTO tql
VALUES (77,'太强了','a','1234');
当某一列设置了自增长之后,可以不管它,自己会主动加一,也可以设置为null,不影响最终结果
改
1.修改单表的记录
update 表名
set 列='新值',列='新值'......
where 筛选条件,用来确定修改的位置;
UPDATE tql
SET aname='666'
WHERE id = 66;
-------------------------------------------------------------------------------
2.修改多表的记录
update 表1 别名
join 表二 别名
on 连接条件
set 列='新值',列='新值'......
where 筛选条件
举例:修改张无忌的女朋友的手机号
UPDATE `boys` b
JOIN `beauty` c
ON b.`id` = c.`boyfriend_id`
SET c.`phone`='09040318'
WHERE b.`boyName` = "张无忌";
删
删除几行:
DELETE FROM 表名 WHERE 筛选条件;
清空表的内容:
DELETE FROM 表名;
TRUNCATE TABLE tql;
两者差别:
1.TRUNCATE效率高
2.对于自增列的删除:
DELETE的画是接着之前的数据自增长
TRUNCATE的话是重新从1开始
3.DELETE返回受影响的行数,TRUNCATE不返回
4.DELETE删除支持事物回滚,TRUNCATE不支持