MySQL学习笔记(五)、 数据操作语句(DML语句)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Three_dog/article/details/83176753

数据操作语句(DML语句)

增删改查 insert delete update select
dml操作的对象是table里面的数据(记录)。

增删改查

1、增:insert 语句

insert into tbname(列名1,列名2...)values(1,值2...);

列名是表中对应的列,可以不按照顺序写出来;也可以只写出一部分,但省去的列必须可以为NULL,或有默认值。另外写出的列名与值个数一一对应。

也可以一次插入多条数据:

insert into tbname(列名1,列名2,...)values(1,值2...),(1,值2...),(1,值2...);

插入数据时,需要满足三个完整性:

  1. 实体完整性:添加数据时,不能有遗漏,且顺序要对应
  2. 参照完整性:外键关联必须完整
  3. 用户自定义完整性:插入的数据满足字段上的约束
insert into tbname values(,,,),(,,,)...(,,,);不写列名,需要将所有列的值插入

也可以在表后不写列名,代表向所有的列中依次添加数据。

使用insert进行数据备份:

insert into tbname(列名1,列名2...) as select ...;
insert into t2 as select * from t1; //将表1里面数据拷贝到表2
insert into t3(n,a) as select name,address from t1;//将表1中指定项备份到另一张表中

练习:创建下面的表,并插入一些数据

用户信息表 info
编号 id    整形  自增  主键
姓名 name 不定长30 非空唯一
性别 gender 枚举 1,0   enum(‘0’,’1’)
年龄 age   无符号整形 默认值0
地址addr 不定长50  默认值是空字符串  default ‘’;

2、删 delete语句

  1. delete from tbname;//清空表里面的数据
  2. truncate t1;//状态恢复到最初状态
  3. drop table t1;删除表

格式:delete from tbname where 表达式;

DELETE [LOW_PRIORITY] FROM tbl_name [WHERE where_definition] [LIMIT rows]

筛选条件,和select语句的筛选条件相同:

  • 表达式里面需要用到逻辑操作符:
    • 逻辑比较操作符:> < = != >= <=
    • 逻辑连接操作符:and && or ||  !

注意:

  • 在删除之前,建议先检查即将删除的数据是否是想要删除的,具体操作是:把delete 换成 select *即可。
  • 如果你发出一个没有WHERE子句的DELETE,所有行都被删除。MySQL通过创建一个空表来完成,它比删除每行要快。

3、改 update语句

  1. update tbname set 列名 = 值; //针对所有内容
    update into set address=’shanghai’;地址全部改为上海;

  2. 使用时,添加条件限制

    • update tbname set 列名=值 where 表达式;//将info表中address为空字符串的地址统一改成shanghai;

注意:在更该之前,首先查看条件是否正确:
select * from tbname where 表达式;

  1. 一次修改多个列的值
    update tbname set 列名1=值,列名2=值,…;
    update tbname set
    列名1=值,列名2=值,…where 表达式;

猜你喜欢

转载自blog.csdn.net/Three_dog/article/details/83176753