MySQL语句整理及汇总介绍


本文整理自网络,侵删。

SQL(Structured Query Language)语句,即结构化查询语言,是操作和检索关系数据库的标准语言。SQL语句一般分为以下几种:

  1. DCL(Database Control Language,数据控制语言)语句:主要由GRANT和REVOKE两个关键字完成
  2. DDL(Database Definition Language,数据定义语言)语句:主要由CREATE、ALTER、DROP和TRUNCATE四个关键字完成
  3. DML(Database Manipulation Language,数据操作语言)语句:主要由INSERT、UPDATE和DELETE三个关键字完成
  4. 查询语句:主要由SELECT语句完成
  5. 事务控制语句:主要由COMMIT、ROLLBACK和SAVEPOINT三个关键字完成

注:SQL语句不区分大小写,所以create和CREATE是相同的

一.DCL语句

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

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

1.grant授权格式:

grant 权限列表 on 库.表 to 用户名@'ip' identified by "密码";

2.revoke回收权限格式:

revoke 权限列表 on 库.表 from 用户名@'ip';

二.DDL语句

数据库对象:

表(table)、数据字典、约束(constraint)、视图(view)、索引(index)、函数(function)、存储过程(procedure)、触发器(trigger)

CREATE、ALTER、DELETE关键字分别是创建、修改和删除数据库对象的,此处使用我们使用最多的对表的操作来举例

  • 数据库的数据类型可参考://www.1000zx.cn/article/55853.htm
  • 数据库的完整性约束可参考:http://1000zx.cn/article/154000.htm

1.CREATE:

CREATE TABLE [模式名.] 表名(
该表中的列定义
);

e.g.

CREATE TABLE test(
StuId VARCHAR(8) PRIMARY KEY,
StuName VARCHAR(30) NOT NULL,
StuAge SMALLINT NOT NULL,
StuBirth DATETIME
);

注:查看表结构:DESCRIBE 表名;

2.ALTER:

1)添加列:

ALTER TABLE 表名
ADD column columnName1 datatype [default expr] [FIRST|AFTER colName];
columnName1:新添加的列名;
datatype:数据类型;
default expr:完整性约束;
FIRST|AFTER colName:插入位置,默认是插入在最后一列,FIRST是在第一列,AFTER colName是在指定列后插入

e.g.

ALTER TABLE test
ADD column StuMajor VARCHAR(20) NOT NULL AFTER StuName;

2)修改列

ALTER TABLE 表名 CHANGE oldName newName datatype; 

e.g.

ALTER TABLE test CHANGE StuBirth Birthday year;

3)删除列

ALTER TABLE 表名 DROP column columnName;

e.g.

ALTER TABLE test DROP column StuMajor;

4)修改表名

ALTER TABEL 表名 RENAME TO 新表名;

e.g.

ALTER TABLE test RENAME TO student;

3.DROP

删除表
DROP TABLE 表名;

e.g.

DROP TABLE student;

4.TRUNCATE

删除表内所有数据但保留表的结构,叫做“截断”
TRUNCATE TABLE 表名;

e.g.

TRUNCATE TABLE student;

三.DML语句

1.INSERT

标准SQL语句只允许一次插入一条数据,但MySQL对其进行扩展使其可以一次插入多条数据

插入一条数据:

INSERT INTO 表名 VALUES(value1, value2, ...);

插入多条数据:

INSERT INTO 表名 VALUES(value1,value2,...),(value1,value2,...),(value1,value2,...);

e.g.

INSERT INTO student VALUES(‘001','Lisa',20,1997),(‘002','Rose',21,1996);

2.UPDATE

UPDATE 表名 SET COLUMN1 = VALUE1[, COLUMN2 = VALUE2]...
[WHERE CONDITION];

e.g.将所有年龄大于20岁的学生的年龄+1

UPDATE student SET StuAge = StuAge+1 WHERE StuAge>20;

3.DELETE

DELETE FROM 表名 [WHERE CONDITION];

e.g.将所有1997年出生的学生信息删除

DELETE FROM student WHERE Birthday = 1997;

四.查询语句

1.单表查询:

SELECT COLUMN1, COLUMN2...
FROM 数据源
[WHERE CONDITION]
[GROUP BY columnName]
[ORDER BY columnName DESC|ASC]

e.g.将计算机科学专业的学生选出来并按照学号降序排列,只显示学生姓名

SELECT StuName FROM student 
WHERE StuMajor = 'CS'
ORDER BY StuId DESC;

2.多表查询:

1)简单的外连接方式

SELECT VALUE1[,VALUE2]...
FROM tableName1,tableName2
WHERE tableName1.column1 = tableName2.column2[AND ...];
WHERE 后跟的是连接条件和查询条件

2)自连接:有时需要自己和自己进行连接,叫做自连接

e.g.

阅读剩余部分

相关阅读 >>

sql中创建数据表的命令是什么

sql server 2014安装教程

sql的九个常用语句是什么

php实现获取mysql数据库的记录数据

分享三种高效率sql语句分页方法

microsoft sql server是什么

sql语句如何截取某字段的一部分

sql如何在原有表基础上增加一列

sql server是什么

mysql查询今天、昨天、近7天、近30天、本月、上一月的sql语句

更多相关阅读请进入《sql》频道 >>


数据库系统概念 第6版
书籍

数据库系统概念 第6版

机械工业出版社

本书主要讲述了数据模型、基于对象的数据库和XML、数据存储和查询、事务管理、体系结构等方面的内容。



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...