MySQL简记

概念

SQL:结构化查询语言(Structured Query Language)简称SQL,是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。

MySQL:MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件。

SQL语句可分为四类:

  1. DDL数据定义语句(Data Definition Language):DDL用来创建数据库中的各种对象 表、视图、 索引等

  2. DQL数据查询语句(Data QueryLanguage):DQL基本结构由SELECT子句,FROM子句,WHERE 子句组成的查询块,例如 SELECT <字段名表> FROM <表或视图名> WHERE <查询条件>

  3. DML数据操纵语句(Data Manipulation Language):DML主要有三种形式 INSERT UPDATE DELETE

  4. DCL数据控制语句(Data Control Language):DCL用来授予或回收访问数据库的某种特权,并控制 数据库操纵事务发生的时间及效果,对数据库实行监视等 如GRANT ROLLBACK COMMIT

注意:SQL 对大小写不敏感

数据定义语句

CREATE TABLE 语句

CREATE TABLE语法:

1
2
3
4
5
6
7
CREATE TABLE 表名称
(
列名称1 数据类型,
列名称2 数据类型,
列名称3 数据类型,
....
)

数据类型规定了该列可容纳何种数据类型。

例如:

1
2
3
4
5
6
7
8
9
CREATE TABLE `holiday` (
`id` bigint(20) NOT NULL COMMENT 'id',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`company_id` int(11) NOT NULL DEFAULT '0' COMMENT '公司id',
`name` varchar(128) NOT NULL DEFAULT '' COMMENT '名称',
`cost` double NOT NULL DEFAULT '0' COMMENT '成本',
`delete_flag` int(8) NOT NULL DEFAULT '0' COMMENT '删除标记',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

约束

NOT NULL 约束:强制列不接受 NULL 值。

UNIQUE 约束:唯一标识数据库表中的每条记录。每个表可以有多个UNIQUE约束。

PRIMARY KEY 约束:唯一标识数据库表中的每条记录。(1主键必须包含唯一的值。(2主键列不能包含 NULL 值。(3每个表都应该有一个主键,并且每个表只能有一个主键。

FOREIGN KEY 约束:一个表中的 FOREIGN KEY 指向另一个表中的 PRIMARY KEY。

DEFAULT 约束:用于向列中插入默认值。如果没有规定其他的值,那么会将默认值添加到所有的新记录。数据查询语句

CREATE INDEX 语句

索引可提高特定数据的查询效率

CREATE INDEX 语法:

1
2
CREATE INDEX index_name
ON table_name (column_name)

column_name是需要索引的列

CREATE UNIQUE INDEX 语句

唯一索引意味着两个行不能拥有相同的索引值,常用于数据唯一性限制

CREATE UNIQUE INDEX 语法:

1
2
CREATE UNIQUE INDEX index_name
ON table_name (column_name)

DROP TABLE 语句

DROP TABLE 语句用于删除表(表的结构、属性以及索引也会被删除)

DROP TABLE 语法:

1
DROP TABLE 表名称

ALTER TABLE 语句

添加列语法:

1
2
ALTER TABLE table_name
ADD column_name datatype

删除列语法:

1
2
ALTER TABLE table_name
DROP COLUMN column_name

修改列语法:

1
2
ALTER TABLE table_name
MODIFY column_name datatype

ALTER TABLE table_name
ADD column_name datatype

数据操纵语句

INSERT INTO 语句

INSERT INTO 语句用于向表格中插入新的行

INSERT INTO 语法:

1
INSERT INTO 表名称 VALUES (值1, 值2,....)

也可以指定所要插入数据的列

1
INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....)

Update 语句

Update 语句用于修改表中的数据

Update 语法:

1
UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值

DELETE 语句

DELETE 语句用于删除表中的行

DELETE 语法:

1
DELETE FROM 表名称 WHERE 列名称 = 值

数据查询语句

SELECT 语句

SELECT 语句用于从表中选取数据,结果被存储在一个结果表中(称为结果集)

SELECT 语法:

1
SELECT 列名称 FROM 表名称

以及:

1
SELECT * FROM 表名称

‘*’表示查询所有列

参考

SQL教程:http://www.w3school.com.cn/sql/