数据库 - DML

DML(Data Manipulation Language)数据操纵语言:insert update delete 对表中的数据的增删改

1. 插入

语法:
插入单行:

insert into 表名(字段名1,字段名2 ,...) values (1,值2,...);

插入多行:

insert into 表名(字段名1,字段名2 ,...) values
	 (1,值2,...),(1,值2,...),(1,值2,...);

特点:

①字段和值列表一一对应,包含类型、约束等必须匹配

②数值型的值,不用单引号,非数值型的值,必须使用单引号

③字段顺序无要求

案例1:要求字段和值列表一一对应,且遵循类型和约束的限制

INSERT INTO stuinfo(stuid,stuname,stugender,email,age,majorid)
VALUES(1,'吴倩','男','[email protected]',12,1); 
INSERT INTO stuinfo(stuid,stuname,stugender,email,age,majorid)
VALUES(6,'李宗盛2','女','[email protected]',45,2);

案例2:可以为空字段如何插入
方案1:字段名和值都不写

INSERT INTO stuinfo(stuid,stuname,email,majorid)
VALUES(5,'齐鱼','[email protected]',2); 

方案2:字段名写上,值使用null

INSERT INTO stuinfo(stuid,stuname,email,age,majorid)
VALUES(5,'齐鱼','[email protected]',NULL,2); 

案例3:默认字段如何插入

方案1:字段名写上,值使用default

INSERT INTO stuinfo(stuid,stuname,email,stugender,majorid)
VALUES(7,'齐小鱼','[email protected]',DEFAULT,2); 

方案2:字段名和值都不写

INSERT INTO stuinfo(stuid,stuname,email,majorid)
VALUES(7,'齐小鱼','[email protected]',2); 

案例4:可以省略字段列表,默认所有字段

INSERT INTO stuinfo VALUES(8,'林忆莲','女','[email protected]',12,3);

2. 数据的修改

语法:

update 表名 set 字段名 = 新值,字段名=新值,...
where 筛选条件;

案例1:修改年龄<20的专业编号为3号,且邮箱更改为 [email protected]

UPDATE stuinfo SET majorid = 3,email='[email protected]'
WHERE age<20;

3. 数据的删除

方式1:delete语句

delete from 表名 where 筛选条件;

方式2:truncate语句

语法:truncate table 表名;

案例1:删除姓李所有信息

DELETE FROM stuinfo WHERE stuname LIKE '李%';

案例2:删除表中所有数据

TRUNCATE TABLE stuinfo ;

3.1 delete和truncate的区别

  • delete可以添加WHERE条件

  • TRUNCATE不能添加WHERE条件,一次性清除所有数据

  • truncate的效率较高

  • 如果删除带自增长列的表,使用DELETE删除后,重新插入数据,记录从断点处开始

  • 使用TRUNCATE删除后,重新插入数据,记录从1开始

  • delete 删除数据,会返回受影响的行数

  • TRUNCATE删除数据,不返回受影响的行数

  • delete删除数据,可以支持事务回滚

  • TRUNCATE删除数据,不支持事务回滚

发布了167 篇原创文章 · 获赞 3 · 访问量 5389

猜你喜欢

转载自blog.csdn.net/weixin_43907800/article/details/104966334