服务器之家:专注于服务器技术及软件下载分享
分类导航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|数据库技术|

服务器之家 - 数据库 - Mysql - MySQL教程DML数据操纵语言示例详解

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

2021-11-26 16:59数据分析与统计学之美 Mysql

这篇文章主要为大家介绍了MySQL教程中DML数据操纵语言的示例详解,要想学好MySQL最重要的是要先学好数据操纵语言DML,本文对其进行了全面的讲解

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
("刘备","男"),("貂蝉","女"),("诸葛亮","男");

结果如下:

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

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

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

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

操作结果如下:

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

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

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

操作结果如下:

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

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

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

操作结果如下:

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

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;

操作结果如下:

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

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

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

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

操作结果如下:

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

6.truncate和delete的区别

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

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

1)delete

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

2)truncate

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

3)truncate和delete的区别

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

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

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

延伸 · 阅读

精彩推荐
  • Mysql详解MySQL中的分组查询与连接查询语句

    详解MySQL中的分组查询与连接查询语句

    这篇文章主要介绍了MySQL中的分组查询与连接查询语句,同时还介绍了一些统计函数的用法,需要的朋友可以参考下 ...

    GALAXY_ZMY5442020-06-03
  • MysqlMySQL数据库varchar的限制规则说明

    MySQL数据库varchar的限制规则说明

    本文我们主要介绍了MySQL数据库中varchar的限制规则,并以一个实际的例子对限制规则进行了说明,希望能够对您有所帮助。 ...

    mysql技术网4192019-11-23
  • MysqlMySQL锁的知识点总结

    MySQL锁的知识点总结

    在本篇文章里小编给大家整理了关于MySQL锁的知识点总结以及实例内容,需要的朋友们学习下。...

    别人放弃我坚持吖4362020-12-14
  • Mysql解决MySQl查询不区分大小写的方法讲解

    解决MySQl查询不区分大小写的方法讲解

    今天小编就为大家分享一篇关于解决MySQl查询不区分大小写的方法讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起...

    Veir_dev5592019-06-25
  • MysqlMySQL 数据备份与还原的示例代码

    MySQL 数据备份与还原的示例代码

    这篇文章主要介绍了MySQL 数据备份与还原的相关知识,本文通过示例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下...

    逆心2972019-06-23
  • Mysqlmysql 不能插入中文问题

    mysql 不能插入中文问题

    当向mysql5.5插入中文时,会出现类似错误 ERROR 1366 (HY000): Incorrect string value: '\xD6\xD0\xCE\xC4' for column ...

    MYSQL教程网5722019-11-25
  • Mysql浅谈mysql 树形结构表设计与优化

    浅谈mysql 树形结构表设计与优化

    在诸多的管理类,办公类等系统中,树形结构展示随处可见,本文主要介绍了mysql 树形结构表设计与优化,具有一定的参考价值,感兴趣的小伙伴们可以参...

    小码农叔叔5242021-11-16
  • MysqlERROR: Error in Log_event::read_log_event()

    ERROR: Error in Log_event::read_log_event()

    ERROR: Error in Log_event::read_log_event(): read error, data_len: 438, event_type: 2 ...

    MYSQL教程网6412020-03-13