MySql数据库中SQL语句的全面总结

SQL语言共分为四大类:数据查询语言DQL,数据操纵语言DML,数据定义语言DDL,数据控制语言DCL。下文是对这四种语言以及事务处理语言的小总结

1.数据定义语言——DDL

  • 对于数据库或者数据库的组件的结构的操作(DATA DEFINITION LANGUAGE ):
  • 特点:不允许事务的回滚。

1.1 CREATE ——表的创建

语法
CREATE TABLE 表名(
字段名 数据类型 约束,
字段名 数据类型 约束
)

1.2 DROP——表的删除

DROP TABLE 表名

1.3 ALTER——更改表

1.4 TRUNCATE——截断表

  • 表的截断,清空表中所有的记录。

  • 语法结构:
    TRUNCATE TABLE 表名

  • TRUNCATE和DELETE区别

  1. TRUNCATE是DDL,只能删除表中所有记录,释放存储空间, 使用ROLLBACK不可以回滚。
  2. DELETE是DML,可以删除指定记录,不释放存储空间,使用 ROLLBACK可以回滚。

2.数据操作语言——DML

  • 数据操作语言 (Data Manipulation Language ,简称DML),主要用来实现对数据库表中的数据进行操作——增删改
  • 数据操作语言主要包括如下几种:
    • 增加行数据:使用INSERT语句实现
    • 修改行数据:使用UPDATE语句实现
    • 删除行数据:使用DELETE语句实现
  • 特点:可以进行事务的回滚

2.1 INSERT 往表中插入记录

  • 语法:
    INSERT INTO 表名(字段列表) VALUES(值列表)
  • 其中:
    1、字段列表,值列表两两之间用逗号隔开
    2、值列表中的值,字符串和日期的常量,需要单引号括起来。
    3、值的类型要与字段的数据类型相符
    4、INTO可以省略
    5、字段列表如果是插入整个表中的字段,可以省略,但值列表的个数与顺序要与定义的表的字段的顺序一样。
    6、字段也可以写其中的几个,与后面的值的个数对应即可。
    7、VALUES 关键字也可以使用VALUE,但一般用values

或见下图:
在这里插入图片描述
例如
在这里插入图片描述
在这里插入图片描述

批量插入多条记录

  • 使用insert语句可以一次性地向表批量插入多条记录,语法格式如下。

INSERT INTO 表名(字段名) VALUES(值列表1),(值列表2),…,(值列表n);

  • 例如:
    在这里插入图片描述

2.2 UPDATE子句修改数据库中数据

  • 修改数据主要用来按照指定条件修改表中某些行的列数据。

  • 修改数据使用UPDATE子句完成,语法结构如下:
    UPDATE 表名 SET 字段名1=值1, 字段名2=值2 WHERE子句

  • 注意

    1. where子句用于限定修改的记录。如果不加where子句,默认修改该表中所有的记录。
    2. SET子句用来限定修改哪些列。
    3. 可一次修改多条记录在这里插入图片描述
    4. 进行修改操作时要注意完整性约束错误

2.3 DELETE 语句删除表中满足条件的行记

  • 删除数据主要用来按照指定条件从表中删除某些行。
  • 语法
    DELETE FROM 表 WHERE子句
  • 例如:

a.删除选中记录

在这里插入图片描述

b.删除全部记录

在这里插入图片描述

删除记录时的同样要注意完整性约束错误


3.数据查询语言——DQL(DQL DATA QUERY LANGUAGE)

详细的DQL说明请看这篇文章:MySQL语句——数据查询语言DQL详解

  • 基本SELECT语句语法 :
    SELECT [DISTINCT]{*|column|expression [alias],…} FROM table where子句;
  • 注意:
    1. SELECT子句表示所需检索的数据列。
    2. FROM子句 表示检索的数据来自哪个表。
  • 举例:
    在这里插入图片描述

4.数据控制语言——DCL (DATA CONTROL LANGUAGE )

  • GRANT
  • REVOKE

5.事务处理语言——TPL (TRANSACTION PROCESS LANGUAGE )

关于TPL的详解请看这篇文章:mySql事务处TPL的小总结

  • 事务处理语言:Transaction Process Language ,简称TPL, 主要用来对组成事务的DML语句的操作结果进行确认或取消。 确认也就是使DML操作生效,使用提交(COMMIT)命令实现; 取消也就是使DML操作失效,使用回滚(ROLLBACK)命令实现。

  • 事务的自动提交模式

    1. mysql中的事务是自动提交的,即每一个sql语句后默认加COMMIT语句
    2. 查看mysql的事务自动提交模式:SHOW VARIABLES LIKE 'autocommit’
    3. 修改mysql的自动提交模式
      SET AUTOCOMMIT=1 表示开启
      SET AUTOCOMMIT=0 表示关闭
  • MySQL的事务处理主要有两种方法

    1. 用begin,rollback,commit来实现:
      begin开始一个事务
      rollback事务回滚
      commit 事务提交

    2. 直接用set来改变MySQL的自动提交模式
      MySQL默认是自动提交的,也就是你提交一个sql,就直接执行!可以通过set autocommit = 0 禁止自动提交set autocommit = 1 开启自动提交来实现事务的处理。

    但要注意当用set autocommit = 0 的时候,以后所有的sql都将作为事务处理,直到用commit确认或 rollback结束,注意当结束这个事务的同时也开启了新的事务!按第一种方法只将当前的做为一个事务!

看官,如果觉得这篇文章还不错,点个赞加个关注再走呗 ^ - ^
MySql系列文章:

  1. MySql数据库基本操作(一)
  2. MySql数据库管理操作基本语句小结
  3. MySql中建表时约束条件的总结
  4. MySql中对数据类型的总结
  5. mySql事务处理TPL的小总结
  6. MySQL语句——数据查询语言DQL详解
  7. MySql数据库中SQL语句的全面总结
  8. MySql中最基本最常用的函数小结

猜你喜欢

转载自blog.csdn.net/qq_45768060/article/details/108586052