MySQL_DML&DDL&DQL

目录

一、DML

1.介绍

2.插入语句

3.修改语句

4.删除语句(delete)

5.删除语句(truncate)

二、DDL

1.介绍

2.库的管理

3.表的管理

扫描二维码关注公众号,回复: 13625860 查看本文章

三、DQL


一、DML

1.介绍

DML(Data Manipulation Language):数据操作语言,用来对表进行:添加、删除、修改等操作。

数据操作语言:
             插入:insert
             修改:update
             删除:delete

2.插入语句

语法一
             insert into 表名 (列名,...) values(值1,...);
-------------------------------------------------------------------------------------------------------------------------
语法二
            insert into 表名
            set 列名=值,列名=值,.......


两种语法区别:
            ♣ 语法一支持插入多行,语法二不支持   
            ♣ 语法一支持子查询,语法二不支持
               例1:insert into beauty(id,name,phone)
                       select 26,'宋茜','1193921';
               例2:insert into beauty(id,name,phone)
                       select id,boyname,'1234567'
                       from boys where id<3;
               讲解:类似将查询的结果集对应着列参一一传入,而后插入至表

特点:
       ♣ 插入的值的类型要与列的类型一致或兼容
       ♣ 不可以为null的列必须插入值。可以为null的列可以直接不写列名参数(在没特定约束情况下值默认为null),或写完列名参数后赋值为null;
       ♣ 列的顺序可以调换
       ♣ 列数和值的个数必须一致且一一对应
       ♣ 可以省略列名,默认所有列,而且列的顺序和表中列的顺序一致

3.修改语句

♣ 修改单表记录

                   语法:
                         update 表名                  1
                         set  列=新值,列=新值....  3
                         where 筛选条件             2

♣ 修改多表记录

              sql92语法:
                        update 表1 别名,表2,别名
                        set 列=值....
                        where 连接条件
                        and 筛选条件;
---------------------------------------------------------------------------------------------

              sql99语法:
                       update 表1 别名
                       inner|left|right join 表2 别名
                       on 连接条件
                       set 列=值....
                       where 筛选条件

4.删除语句(delete)

♣ 单表的删除

             语法:
                    delete from 表名
                    where 筛选条件

♣ 多表的删除

             sql92语法:
                     delete  表1的别名,别2的别名  
                     from    表1 别名,表2 别名
                     where  连接条件
                     and     筛选条件;

-------------------------------------------------------------------------------------------------------------------------
            sql99语法:
                     delete                        表1的别名,表2的别名
                     from                          表1 别名
                     inner|left|right join     表2 别名 
                     on                              连接条件
                     where                         筛选条件

-------------------------------------------------------------------------------------------------------------------------
             注意:
                   删除哪个表的记录就在delete后写哪个表的表名,2个表的相关记录都删除则两个表名都写

5.删除语句(truncate)

♣ 语法:
          truncate table 表名;

♣ truncate与delete的区别

             ● delete 可以加where条件,truncate不能加
             ● truncate删除,效率高一丢丢(不用考虑where);
             ● 假如要删除的表中有自增长列,
                用delete删除后,再插入数据,自增长列的值从断点开始
                而truncate删除后,再插入数据,自增长列的值从1开始
             ● truncate删除没有返回值(只会显示共0行受到影响),delete删除有返回值(会显示有几行受影响)
             ● truncate删除不能回滚,delete删除可以回滚

二、DDL

1.介绍

DDL(Data Definition Language):数据定义语言,用来对数据库或者表进行:创建、删除、修改等操作。

创建:create
修改:alter
删除:drop

2.库的管理

♣ 库的创建

             语法:
             create database  【if not exists】库名

♣ 库的修改

            ● 更改库的字符集
              alter database 库名 character set 字符集名;
            ● 更改库名
              直接取文件目录下修改文件名,一般不建议修改      

♣ 库的删除

               语法:
               drop database 【if exists】 库名;

3.表的管理

♣ 表的创建

               语法:
               create table【if not exists】 表名(
                     类名 列的类型【(长度) 约束】,
                     类名 列的类型【(长度) 约束】,
                     类名 列的类型【(长度) 约束】
              )

---------------------------------------------------------------------------------------------------------------------------  

♣ 表的修改

               ● 修改列名
               alter table 表名 change column 旧列名 新列名 新列的类型【(长度) 约束】;
               ● 修改列的类型或约束
               alter table 表名 modify column 列名 新类型【(长度) 约束】;
               ● 添加新列
               alter table 表名 add column  新列名 新列的类型【(长度) 约束】;
               ● 删除列
               alter table 表名 drop column 列名;
               ● 修改表名
               alter table 就表名 rename to 新表名;

♣ 表的删除

               语法:
               drop table【if existis】 表名;  

♣ 表的复制

               ● 仅仅复制表的结构
                  create table copy1 like 被复制表名;
               ● 复制表的结构+数据
                  create table copy1 select * from 被复制的表名;
               ● 只复制部分数据
                  create table copy1 
                  select  字段名
                  from 被复制的表名
                  where 筛选条件;
               ● 仅复制某些字段
                   create table copy1 
                   select  字段名
                   from 被复制的表名
                   where 1=2(条件永不成立即可);

三、DQL

DQL博主上篇博客已进行详细介绍,点此跳转

猜你喜欢

转载自blog.csdn.net/yueseck/article/details/122230768