MySql使用教程
SQL (Structured Query Language:结构化查询语言) 是用于管理关系数据库管理系统(RDBMS)。 SQL 的范围包括数据插入、查询、更新和删除,数据库模式创建和修改,以及数据访问控制。
注意:MySQL 在Windows和MacOS系统下不区分大小写,但在Linux 系统下默认区分大小写。但是为了方便使用,我们一般会将关键字全部大写。
创建
创建数据库:CREATE DATABASE 数据库名称;
创建数据库下的表格:CREATE TABLE 数据表名称(列名1 数据类型,列名2 数据类型,...,列名n,数据类型);
创建数据库:CREATE DATABASE 数据库名称; 创建数据库下的shuCREATE TABLE 数据表名称;
1 | |
USE library; 这一命令表示使用library这一数据库,适用于有多个数据库的情况。

下面是一些常见的数据类型:
| 数据类型 | 说明 |
|---|---|
| varchar(最长255) | 可变长度的字符串,varchar(10),10表示最大可分配空间,会根据传过来的数据动态分配。节省空间,但是需要动态分配空间,速度慢。 |
| char(最长255) | 定长字符串,可能会导致空间的浪费 |
| int(最长11) | 数字中的长整型 |
| bigint | 数字中的长整型 |
| float | 单精度浮点型数据 |
| double | 双精度浮点型数据 |
| date | 短日期类型 |
| datetime | 长日期类型 |
对与创建列名的时候,可以设置一些相应的默认格式。比如:
| 格式 | 说明 |
|---|---|
| NOT NULL | 这一列不能为空 |
| NULL | 这一列可以为空 |
| PRIMARY KEY | 主键 |
| AUTO_INCREMENT | 自动增加数字 |
| UNIQUE | 不允许重复 |
插入
INSERT INTO 数据库名.表格名 (列名1,列名2,…,列名n) VALUES (数值1,数值2,…,数值n)
1 | |
这样我们就插入了一些数据

其中,DEFAULT表示默认格式。
更新
我们也可以再增加一个列名:ALTER TABLE 数据库名.表格名 ADD 列名 数据类型 默认条件
更新具体数据:UPDATE 数据库名.表格名 SET 值 WHERE 条件
1 | |

删除
删除某条数据:DELETE FROM 数据库名.表格名 WHERE 条件
删除表格:DROP TABLE 数据库名.表格名
删除数据库:DROP DATABASE 数据库名
1 | |

查找
查找全部内容:SELECT * FROM 数据库名.表格名
查找某一列内容:SELECT 列名1,列名2 FROM 数据库名.表格名
查找不同的内容(即去除重复内容):SELECT DISTINCT 列名1 FROM 数据库名.表格名
查看时排序(默认ASC,即ascending,升序;DESC,descending,降序):
SELECT * FROM 数据库名.表格名 ORDER BY 列名 ASC/DESC
要过滤掉某些信息:SELECT * FROM 数据库名.表格名 WHERE 条件 ORDER BY 列名 ASC/DESC
| 运算符 | 说明 |
|---|---|
| = | 等于 |
| ! = 或 <> | 不等于 |
| > | 大于 |
| < | 小于 |
| > = | 大于等于 |
| < = | 小于等于 |
| BETWEEN | 介于两者之间 |
| IN | 在一组值内 |
| LIKE | 相似匹配 |
| AND | 与 |
| OR | 或 |
| NOT 或 ! | 非 |
比如想知道这些书分别在哪几天入库:

去重后:

1 | |

在 SQL 中,通配符与 SQL LIKE 操作符一起使用,下面具体说说LIKE的用法:
| 通配符 | 描述 |
|---|---|
| % | 替代 0 个或多个字符 |
| _ | 替代一个字符 |
| [charlist] | 字符列中的任何单一字符 |
| [^charlist]或[!charlist] | 不在字符列中的任何单一字符 |
1 | |