目录
引言
小人同而不和,君子美美与共,和而不同。
——《论语》子路篇第二十三章
一、DML(数据操作语言)
前面我已经介绍了数据库、MySQL、以及sql语言中的DQL(数据查询语言)的相关知识。有不了解的可以去再复习以下。链接:
数据库概述:
大数据_数据库(DBMS、DB、SQL )_D大调奏鸣曲_第七序章_de博客-CSDN博客
MySQL&MySQL的DQL语言知识:大数据_MySQL之DQL(数据查询语言)_D大调奏鸣曲_第七序章_de博客-CSDN博客
接下来我们来一起学习关于DML数据操作语言的知识。
DML,其实就是关于数据操作中增删改查的知识。我们具体来学习DML中的插入、修改、删除三种分类语句。
1、插入语句
1.1. 方式一:(经典插入)
语法:insert into 表名(列名1,...) values(值1,... );
特点:
1、插入的值的类型要与列的类型一致或兼容(即列名的类型,与values中值的类型一致或兼容)
2、不可以为null的列必须插入值,可以为null的列如何插入值?
方式1:在值中写入null即可
方式2:列名与值都不写
3、列的顺序可以调换,但值必须一一对应
5、可以省略列名,但默认显示存在所有列,而且列的顺序和表中列的顺序一致
1.2. 方式二:
语法:insert into 表名 set 列名=值,列名=值, ...
1.3. 两种方式的比较
①方式一支持插入多行,方式二不支持
②方式一支持子查询,方式二不支持
2、修改语句
2.1. 修改单表的记录
语法:update 表名 set 列=新值,列=新值,... where 筛选条件;
例如:案例:修改beauty表中姓唐的女神的电话为1389999
答案:update beauty set phone=‘1389999’ where name ‘唐%’;
2.2. 2、修改多表的记录(补充)
sql92语法:update 表1 别名,表2 别名 set 列=值,... where 连接条件 and 筛选条件;
(推荐)sql99语法:update 表1 别名 inner | left | right join 表2 别名 on 连接条件 set 列=值,... ;
3、删除语句
3.1. 方式一:
语法:
1、单表的删除☆
delete from 表名 where 筛选条件;2、多表的删除【补充】
sql92语法
delete 表1的别名,表2的别名 from 表1 别名,表2 别名 where 连接条件 and 筛选条件;
sql99语法
delete 表1的别名,表2的别名 from 表1 别名 inner |left |right join 表2 别名 on 连接条件 where 筛选条件;
3.2. 方式二:
truncate
语法:truncate table 表名;(全部删除,清空数据)
3.3. delete与truncate的区别
1、delete可以加where条件,truncate不可以
2、truncate删除效率要稍微高一些
3、假如要删除的表中有自增长列,如果用delete删除后,再插入数据,自增长列的值从断点开始,而truncate删除后,再插入数据,自增长列的值从1开始。
4、truncate删除没有返回值,delete删除有返回值。
5、truncate删除不能回滚,delete删除可以回滚。
二、DDL语言(数据定义语言)
1、库和表的管理
1.1.1. 库的管理
创建:create
语法:create database [if not exists] 库名;
1.1.2. 修改(修改库的结构)
关键字:alter
修改库名:特别的是&