Mysql数据库基础知识(三)之:数据的增删改

第一部分:Mysql数据库基础知识(一)之 基础查询----分组查询

第二部分:Mysql数据库基础知识(二)之 连接查询----子查询-----分页查询------union联合查询

第四部分:Mysql数据库基础知识(四)之:库表的管理、数据类型、约束

第五部分:Mysql数据库基础知识(五)之:视图、变量、存储过程、函数、流程控制结构

 

三、DML(Data Manipulation Language): 数据操纵语言

对表中的数据的增删改

1、数据的插入

1)、语法

语法:

插入单行:
    insert into 表名(字段名1,字段名2 ,...) values (值1,值2,...);

插入多行:
    insert into 表名(字段名1,字段名2 ,...) values
     (值1,值2,...),(值1,值2,...),(值1,值2,...);


特点:

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

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

③字段顺序无要求

2)、案例

案例1:要求字段和值列表一一对应,且遵循类型和约束的限制
INSERT INTO stuinfo(stuid,stuname,stugender,email,age,majorid)
VALUES(1,'吴倩','男','[email protected]',12,1); 


案例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、数据的删除

1)、语法

方式1:delete语句

语法:delete from 表名 where 筛选条件;


方式2:truncate语句 :删除表中所有数据

语法:truncate table 表名;

2)、案例

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

DELETE FROM stuinfo WHERE stuname LIKE '李%';

案例2:删除表中所有数据
TRUNCATE TABLE stuinfo ;

3)、delete、truncate区别

1.delete可以添加WHERE条件
  TRUNCATE不能添加WHERE条件,一次性清除所有数据

2.truncate的效率较高

3.如果删除带自增长列的表,
  使用DELETE删除后,重新插入数据,记录从断点处开始
  使用TRUNCATE删除后,重新插入数据,记录从1开始
  
4.delete 删除数据,会返回受影响的行数
  TRUNCATE删除数据,不返回受影响的行数
  
5.delete删除数据,可以支持事务回滚
  TRUNCATE删除数据,不支持事务回滚

 

你可能感兴趣的:(mysql,mysql)