[Mysql]数据操作语言(DML)

来源:互联网 发布:壳氏唯切菜板知乎 编辑:程序博客网 时间:2024/06/06 06:54

插入数据

基础语法

形式1:
insert into 表名(字段名1,字段名2,....)values (值a1,值a2, .....), (值b1,值b2, .....),..... ;

形式2:
insert into 表名1(字段名1,字段名2,....)select 字段名1,字段名2,.... from 表名2;

形式3:
insert into 表名 set 字段名1=值1,字段名2=值2, ..... ;

载入外部“形式整齐”的数据:
load data infile ‘文件完整名(含路径)’ into table 表名;

复制一个表的结构和数据:
create table 表名1 select * from 表名2;

注意

  • 按“行”插入
  • “字段”和“值”之间,一一对应
  • 值的形式:数字直接写,字符串和时间加单引号,但如果是函数值,则不能加引号
  • auto_increment, timestamp等字段无需插入

删除数据

基础语法

delete from 表名 [where条件] [order排序] [limit限定];

注意

  • “以行为单位”删除
  • 删除语句中,where条件如果不写,则就删除了所有数据
  • order排序子句用于设定删除数据的先后顺序
  • limit限定子句用于限定在设定的顺序情况下删除指定的某些行

truncatedelete区别

truncate [table] 表名
用于直接删除整个表(结构)并重新创建该表

delete truncate 只删除数据 删除整个表(数据和结构都没有了),重新创建该表(全新表) auto_increment这种类型的字段值,
继续增长 truncate重新计算

修改数据

基本语法

update 表名 set 字段名1=值表达式1,字段名2=值表达式2,....[where条件] [order排序] [limit限定];

注意

  • 以“行”为单位进行的,虽然可以指定只更新其中的部分字段
  • 其他限定遵循insert语法

复制表

方法一

create table table2 like table1; //复制结构了insert into table2 select * from table1;    //复制数据   

这种方法可以比较完整。

方法二
create table table2 select * from table1; //同时复制结构和数据
这种方法可能会丢一些结构信息,比如:索引,约束,自增长属性

0 0
原创粉丝点击