MySQL教程DML数据操纵语言示例详解

吾爱主题 阅读:118 2024-04-02 08:06:40 评论:0
目录
  • 1.数据操纵语言(dml)
  • 2.增添数据(insert)
  • 3.复制已有表,生成新表
    • 1)复制已有表的结构和数据。
    • 2)只复制已有表的结构(得到的是一个空结构表)。
    • 3)在2的基础上,向空结构表中插入数据。
  • 4.修改数据update
  • 5.删除数据delete:物理删除(一旦删除就彻底没有了)。
  • 6.truncate和delete的区别
    • 1)delete
    • 2)truncate
    • 3)truncate和delete的区别

1.数据操纵语言(dml)

数据操纵语言全称是data manipulation language,简称是dml。dml主要有四个常用功能,如下表所示,其中dml中的查询功能是作为一名数据分析师常用的操作。查询知识会穿插在之后的所有文章中讲述,因为这个问题不是一下子可以讲的完的。今天的文章主要是讲述增、删、改这几个技能的用法。

insert delete update select

下面的操作都是基于这个student表进行的。

?
1 2 3 4 5 6 7 8 9 10 # 创建数据库 create database if not exists stu; # 使用数据库 use stu; # 创建一个表 create table student(      sid int primary key auto_increment,      sname varchar (20) not null ,      sex varchar (10) )charset=utf8;

2.增添数据(insert)

?
1 2 3 4 5 6 7 8 9 10 11 12 情况一:给全部字段添加数据; -- 有以下两种添加方式:当给所有字段插入数据的时候,可以不写字段名。 insert into student(sid,sname,sex) values (1, "张三" , "男" ); insert into student values (2, "李莉" , "女" );   情况二:给部分字段添加数据; insert into student(sname) values ( "王五" ); insert into student(sname,sex) values ( "赵六" , "男" );   情况三:一次性插入多条数据; insert into student(sname,sex) values ( "刘备" , "男" ),( "貂蝉" , "女" ),( "诸葛亮" , "男" );

结果如下:

3.复制已有表,生成新表

1)复制已有表的结构和数据。

?
1 2 "创建一个student1表,表的结构和数据均来自于student表。" mysql> create table student1 select * from student;

操作结果如下:

2)只复制已有表的结构(得到的是一个空结构表)。

?
1 2 "创建一个student2表,只复制student表的结构,不要里面的数据。" mysql> create table student2 select * from student where 0;

操作结果如下:

3)在2的基础上,向空结构表中插入数据。

?
1 2 "在2基础上,向student2表中插入数据,数据来自于student表" mysql> insert into student2 select * from student;

操作结果如下:

4.修改数据update

update和delete语句要配合where筛选,进行使用,否则删除的就是整张表的记录。

?
1 2 3 4 5 6 7 8 "语法格式:多个列之间用逗号隔开" update 表名 set 列1=值1 [列2=值2,列3=值3…… ] where 条件;   "演示示例如下" -- 把sid为3的王五的姓名,改为王八。 update student set sname= "王八" where sid = 3; -- 把sid为7的诸葛亮的名字改为孔明,性别改为猛男。 update student set sname= "孔明" ,sex= "猛男" where sid=7;

操作结果如下:

5.删除数据delete:物理删除(一旦删除就彻底没有了)。

update和delete语句要配合where筛选,进行使用,否则删除的就是整张表的记录。

?
1 2 3 4 5 "语法格式:" delete from 表名 where 条件;   "演示示例如下" delete from student where sname= "张三" ;

操作结果如下:

6.truncate和delete的区别

用如下数据讲述这两个的区别:

1)delete

2)truncate

3)truncate和delete的区别

① 都是不修改结构,只清除数据。
② delete删除不释放资源,truncate释放表占用的空间(会重置主键自增)
③ delete是逐行删除,删除记录是作为事务记录在日志文件中,可进行回滚操作。truncate一次性删除表中所有数据,删除记录不会记录在日志文件中,无法恢复,删除效率高于delete。

以上就是mysql教程dml数据操纵语言示例详解的详细内容,更多关于dml数据操纵语言的资料请关注服务器之家其它相关文章!

原文链接:https://huang-tong-xue.blog.csdn.net/article/details/106818862

可以去百度分享获取分享代码输入这里。
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

【腾讯云】云服务器产品特惠热卖中
搜索
标签列表
    关注我们

    了解等多精彩内容