MySQL语句大全,mysql常见语句总结,MySQL语句整理及汇总介绍

MySQL语句大全,mysql常见语句总结,MySQL语句整理及汇总介绍

今天边肖就和大家分享一下MySQL语句的整理和汇总的介绍。边肖觉得内容挺好的,现在分享给大家,很有参考价值。有需要的朋友一起看看吧。

SQL(结构化查询语言)语句,即结构化查询语言,是操作和检索关系数据库的标准语言。SQL语句通常分为以下几类:

DCL(数据库控制语言)语句:主要由GRANT和REVOKE完成。

DDL(数据库定义语言)语句:主要由CREATE、ALTER、DROP、TRUNCATE四个关键字完成。

DML(数据库操作语言)语句:主要由插入、更新和删除完成。

查询语句:主要由SELECT语句完成

事务控制语句:主要由提交、回滚、保存点三个关键词完成。

注意:SQL语句不区分大小写,因此create和CREATE是相同的。

一.DCL语句

DCL语句是授权和撤销用户的操作,可以控制不同用户的权限,增加数据库的安全性,维护数据库。一般情况下,数据库管理员使用超级用户root进行操作。

MySQL权限命令是grant,权限撤销命令是revoke;

1.grant授权格式:

图书馆授权列表。由“密码”标识的用户名@“IP”的表;

2.revoke回收权限格式:

撤消库上的权限列表。用户名@ IP中的表;

二.DDL语句

数据库对象:

表、数据字典、约束、视图、索引、函数、存储过程和触发器。

CREATE、ALTER和DELETE关键字分别用于创建、修改和删除数据库对象。这里,我们以最常用的表上操作为例。

数据库的数据类型见://www . jb51 . net/article/55853 . htm。

对于数据库的完整性约束,请参考https://www.jb51.net/article/154000.htm.

1.CREATE:

创建表[模式名。]表名(

此表中的列定义

);

例如

创建表测试(

StuId VARCHAR(8)主键,

StuName VARCHAR(30)不为空,

StuAge SMALLINT不为空,

出生日期时间

);

注意:查看表结构:描述表名;

2.ALTER:

1)添加列:

更改表表名

添加列columnName1数据类型[default expr][FIRST | AFTER colName];

ColumnName1:新添加的列名;

数据类型:数据类型;

默认表达式:完整性约束;

FIRST|AFTER colName:插入位置,默认情况下插入到最后一列,首先在第一列,然后在指定列之后的colName之后。

例如

变更表格测试

在StuName后添加列stu major VARCHAR(20)NOT NULL;

2)修改列

alter table name changeoldnamewnamedatatype;

例如

更改表测试更改学生生日年份;

3)删除列

ALTER TABLE name DROP column column name;

例如

ALTER TABLE test DROP列StuMajor

4)修改表名

将表名重命名为新的表名;

例如

将表测试重命名为学生;

3.DROP

删除表格

删除表名;

例如

掉桌子学生;

4.TRUNCATE

删除表中的所有数据但保留表的结构称为“截断”

TRUNCATE TABLE表名;

例如

截断表学生;

三.DML语句

1.INSERT

标准的SQL语句只允许一次插入一条数据,但是MySQL扩展了它,使它可以一次插入多条数据。

插入一段数据:

插入表名值(值1,值2,);

插入多条数据:

插入表格名称值(值1,值2,)、(值1,值2,)、(值1,值2,);

例如

插入学生值(' 001 ',' Lisa ',20,1997),(' 002 ',' Rose ',21,1996);

2.UPDATE

更新表名setcolumn1=value1 [,column2=value2].

[WHERE条件];

例如,将所有20岁以上的学生的年龄与1

更新学生集stu age=stu age 1 WHERE stu age 20;

3.DELETE

from表名[WHERE条件];

例如删除所有1997年出生的学生信息。

从生日=1997的学生中删除;

四.查询语句

1.单表查询:

选择列1、列2.

来自数据源

[WHERE条件]

[按列名分组]

[按列排序名称DESC|ASC]

例如,选择计算机专业的学生,并根据他们的学号按降序排列,只显示学生的姓名。

从学生中选择名字

StuMajor='CS '在哪里

由施蒂德ORDER订购;

2.多表查询:

1)简单的外部连接模式

选择值1[,值2].

来自表名1,表名2

其中tablename 1 . column 1=tablename 2 . column 2[AND.];

其中后跟连接条件和查询条件。

2)自我连接:有时候你需要和自己连接,这叫自我连接。

例如

有以下临时表

创建表emp(

id INT AUTO _ INCRETMENT主键,

姓名VARCAHR(255),

mangerId INT,

外键(managerId)引用临时(Id)

);

有四项记录。

id名称managerId

1个aaa空

2 bbb 1

3 ccc 1

4 ddd 1

查询该表:

Select雇员id,雇员姓名雇员姓名,经理姓名经理姓名

来自员工、员工经理

其中employee . manager id=manager . id;

此查询语句使用自联接显示雇员和经理之间的关系,其中:

Employee.name员工姓名、manager.name经理姓名员工姓名和经理姓名重命名,显示列时显示员工姓名和经理姓名。

从emp employee到emp manager,需要区分两个相同的表,并给它们不同的名称;

其中,employee.manager id=manager.id是连接条件。

更多多表连接,请参考:

https://www.jb51.net/article/154006.htm

五.事务处理

1.事务是由一步或几步数据库操作序列组成的逻辑执行单元。

这一系列操作要么完全执行,要么完全放弃。程序和事务是完全不同的概念。一般来说,一个程序可以包含多个事务。在MySQL中,引擎有很多种,最常用的两种引擎:InnoDB和MyISAM,其中InnoDB支持事务,MyISAM不支持,可以在config配置文件中修改。

2.事务的四个特性:

原子性:事务是应用程序中最小的执行单元。

一致性:作为事务执行的结果,数据库必须从一种一致状态变为另一种一致状态。原子性保证了一致性。

隔离:每个事务的执行互不干扰。

持久性:也称为持久性,这意味着一旦提交了事务,对数据所做的任何更改都会保存到物理数据库中。

这四种特性也被称为酸性。

3.数据库的事务由一组DML语句、一条DDL语句和一条DCL语句组成

DML语句对数据进行操作

只有一个DDL和一个DCL,因为DDL和DCL语句都提交事务。

4.事务的提交:

显示:提交

自动提交:DDL/DCL语句

默认情况下,MySQL会关闭事务(自动提交)。默认情况下,当用户输入DML语句时,操作将被提交。为了启动事务,可以通过以下语句设置自动提交

SET AUTOCOMMIT={0|1} 0表示关闭自动提交(打开事务),1表示打开自动提交(关闭事务)。

5.事务的回滚(rollback)

如果事务中包含的任何数据库操作失败,将执行回滚事务,并且事务中的所有操作都将失效。两种方式:

回滚:回滚

自动回滚:系统错误或强制退出。

6.例子:

如果只启动了一个临时事务,可以通过:start transaction或begin来启动临时事务,它之后的DML语句不会立即执行,事务直到提交或回滚后才会结束。

例如1

开始;

插入到学生值中(NULL,' 001 ',' AAA ');

插入到学生值中(NULL,' 002 ',' BBB ');

插入到学生值中(NULL,' 003 ',' CCC ');

SELECT * FROM student

回滚;

SELECT * FROM student

语句查询的结果中包含了插入的数据,但如果此时在另一个命令行窗口中执行该语句,则不会看到上述三条数据,这体现了事务的隔离性。这三段数据实际上并没有写入物理数据库;

执行回滚操作后,begin之后的三段数据在的查询语句结果中看不到。

例如2

插入到学生值中(NULL,' 001 ',' AAA ');

插入到学生值中(NULL,' 002 ',' BBB ');

保存点p;

插入到学生值中(NULL,' 003 ',' CCC ');

SELECT * FROM student

回滚到p;

SELECT * FROM student

MySQL还提供了关键字SAVEPOINT来设置中间点,可以设置回滚位置。处的查询结果包含三个数据插入结果,但处的查询结果不包含中间点p之后插入的数据,注意回滚到中间点不会结束事务。

总结

这就是本文的全部内容。希望这篇文章的内容对你的学习或工作有一定的参考价值。谢谢你的支持。如果你想了解更多,请查看下面的相关链接。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • 使用php连接mysql数据库,php连接数据库的方法
  • 使用php连接mysql数据库,php连接数据库的方法,一文详解PHP连接MySQL数据库的三种方式
  • pymysql菜鸟教程,pymysql 使用
  • pymysql菜鸟教程,pymysql 使用,pymysql模块使用简介与示例
  • mysql锁实现,mysql锁算法
  • mysql锁实现,mysql锁算法,MySQL锁机制与用法分析
  • mysql连接报错10061,mysql连接错误10060
  • mysql连接报错10061,mysql连接错误10060,MYSQL无法连接 提示10055错误的解决方法
  • mysql连接报10060错误,mysql连接报错10055
  • mysql连接报10060错误,mysql连接报错10055,MySQL连接异常报10061错误问题解决
  • mysql辅助索引和主键索引,mysql 主键 外键 索引
  • mysql辅助索引和主键索引,mysql 主键 外键 索引,MySQL索引之主键索引
  • MySQL语句大全,mysql常见语句总结
  • mysql触发器的使用方法实验报告,mysql中触发器的使用
  • mysql触发器的使用方法实验报告,mysql中触发器的使用,MySQL触发器的使用
  • 留言与评论(共有 条评论)
       
    验证码: