目录
一、数据库操作
1.1 查看数据库
1.1.1查看MySQL服务器下所有数据库
SHOW DATABASES;
具体的命令行操作:
-
information_schema数据库是MySQL服务器的数据字典(保存所有数据表和库的结构信息)
-
performance_schema数据库是MySQL服务器的性能字典(保存全局变量等的设置)
-
mysql 主要负责MySQL服务器自己需要使用的控制和管理信息(用户的权限关系等)
-
sys是系统数据库,包括了存储过程,自定义函数等信息
注意:这4个数据库是MySQL安装时自动创建的,建议不要随意的删除和修改这些数据库,避免造成服务器故障。
1.1.2 查看指定数据库的创建信息
SHOW CREATE DATABASE 数据库名称;
查看sys数据库的信息:
1.1.3查看当前数据库
SELECT DATABASE();
具体的命令行操作:
注意:在输入当前数据库查询的语句前,先需要选择数据库
1.2 创建数据库
CREATE DATABASE [IF NOT EXISTS] 数据库名称[库选项];
注意:
- 语法内使用’[ ]'括起来的选项表示可选参数。
- 数据库名称是由字母,数字和下划线组成的任意字符串。
- 库选项用于数据库的相关特性,例如字符集CHARSET,校对集COLLATE。
- 创建的数据库的默认字符集为latinl,校对集为latinl_swedish_ci。
- 不可重复创建相同的数据库,如果创建的数据库已存在,则程序会报错。
- 为了防止上述情况,在创建数据库时在数据库名称前添加IF NOT EXISTS,表示当指定的数据库不存在时执行创建操作,否则忽略此操作。
具体操作:
1.3 选择数据库
USE 数据库名称;
具体操作:
扩展:在用户登录MySQL服务器也可以直接选择要操作的数据库,基本语法:
mysql -u 用户名 -p 密码 数据库名;
具体操作:
#方式1,在登陆时显示用户密码,选择数据库
mysql -u root -p 123456 sys;
#方式2,在登陆时隐藏用户密码,选择数据库
mysql -u root -p sys;
Enter password:******
1.4 删除数据库
DROP DATABASE [IF EXISTS] 数据库名称;
具体操作:
注意:
-
删除数据库,清除数据库中的所有数据,回收为分配的存储空间。
-
在执行DROP DATABASE 删除数据库时,若待删除的数据库不存在,MySQL服务器会报错。
-
若想避免上述的情况,在进行删除数据库操作时,使用IF EXISTS来进行规避待删除的数据库不存在报错情况。
二、 数据表操作
2.1创建数据表
CREATE [TEMPORARY] TABLE [IF NOT EXISTS] 表名(
字段1 字段1类型 [字段属性] [COMMENT 字段1注释 ],
字段2 字段2类型 [字段属性] [COMMENT 字段2注释 ],
字段3 字段3类型 [字段属性] [COMMENT 字段3注释 ],
......
字段n 字段n类型 [COMMENT 字段n注释 ]
) [表属性] [ COMMENT 表注释 ] ;
具体操作:
2.2 查看数据表
2.2.1 查看数据表
SHOW TABLES [LINK 匹配模式];
具体操作:
注意:
- LINK后的匹配模式必须使用单引号或者双引号包裹。
- 若不添加可选项“LINK 匹配模式”,表示查看当前数据库中的所有数据表;若添加则按照匹配模式来查看数据库。
- 匹配模式符有2种,分别为“%”和“_”,前者表示匹配一个或者多个字符,代表任意长度的字符串,长度可为0,而后者仅可以匹配一个字符。
2.2.2 查看数据表的相关信息
SHOW TABLE STATUS [FROM 数据库名] [LINK 匹配模式];
具体操作:
2.3 查看表结构
MySQL提供的DESCRIBE语句可以查看数据表在所有字段或者指定字段的信息,包括字段名,字段类型等信息。
2.3.1 查看数据表的字段信息
#语法格式1:查看所有字段的信息
{DESCRIBE|DESC} 数据表名;
具体操作:
#语法格式2:查看指定字段的信息
{DESCRIBE|DESC} 数据表名 字段名;
具体操作:
注意:
- Field 表示字段名称
- Type表示字段的数据类型
- Null表示该字段是否可以为空
- Key表示该字段是否已设置了索引
- Default表示该字段是否有默认值
- Extra表示获取到的与该字段相关的附加信息
2.3.2 查看数据表的创建语句
查看创建数据表的具体SQL语句以及表的字符编码
SHOW CREATE TABLE 表名;
具体操作:
注意:
- Table 表示查询的表名称
- Create Table 表示创建该数据表的SQL语句
- SQL语句中包含了字段信息,COMMENT(注释),ENGINE(存储引擎)以及DEFAULT CHARSET(字符集)等内容。
2.3 查看数据表结构
#语法格式1
SHOW [FULL] COLUMNS FROM 数据表名 [FROM 数据库名];
具体操作:
#语法格式2
SHOW [FULL] COLUMNS FROM 数据表名.数据表名;
具体操作:
注意:
- 可选项FULL表示显示详细内容,在不添加的情况下查询结果与使用DESC查询的结果相同。
- 在添加FULL选项时,不仅可以查看到DESC语句查看的字段信息,还可以查看到Privileges(权限)字段,Comment(注释)字段,Collation(校对集)字段。
2.4 修改数据表
2.4.1 修改数据表名称
#语法格式1
ALTER TABLE 旧表名 RENAME [TO|AS] 新表名;
具体操作:
#语法格式2
RENAME TABLE 旧表名1 TO 新表名1;
具体操作:
#批量修改多个数据库名称
RENAME TABLE 旧表名1 TO 新表名1,旧表名2 TO 新表名2,...,旧表名n TO 新表名n;
具体操作:
注意:
- ALTER TABLE 修改数据表名称时,可以直接使用RENAME 或在其后添加TO或AS。
- RENAME TABLE 则必须使用TO,该语法还可以同时修改多个数据表的名称。
2.4.2 修改表选项
数据表中的表选项字符集,存储引擎以及校对集也可以通过ALTER TABLE修改。
ALTER TABLE 表名 表选项 [=] 值;
具体操作:
2.5修改表结构
2.5.1 修改字段名
ALTER TABLE 数据表名 CHANGE [COLUMN] 旧字段名 新字段名 字段类型 [字段属性];
具体操作:
注意:
数据类型表示新字段名的数据类型,不能为空,即使与旧字段的数据类型相同,也必须重新设置。
2.5.2 修改字段类型
ALTER TABLE 数据表名 MODIFY [COLUMN] 字段名 新类型 [字段属性];
具体操作:
2.5.3 修改字段位置
ALTER TABLE 数据表名 MODIFY [COLUMN] 字段名 新类型 [字段属性] [FIRST|AFTER 字段名2];
具体操作:
2.5.4 新增字段
#语法格式1:新增一个字段,并可指定其位置
ALTER TABLE 数据表名 ADD [COLUMN] 新字段名 字段类型 [字段属性] [FIRST|AFTER 字段名];
具体操作:
#语法格式2:同时新增多个字段
ALTER TABLE 数据表名 ADD [COLUMN] (新字段名1 字段类型1, 新字段名2 字段类型2,...,新字段名n 字段类型n)
具体操作:
注意:
- 在不指定位置的情况下,新增的字段默认添加到表的最后。
- 新增多个字段时不能指定字段的位置,字段依次添加到表的最后。
2.5.5 删除字段
ALTER TABLE 数据表名 DROP [COLUMN] 字段名;
具体操作:
2.6 删除数据表
删除数据表操作指的是删除指定数据库中已经存在的表。
#删除单个数据表
DROP [TEMPORARY] TABLE [IF EXISTS] 数据表1;
具体操作:
#删除多个数据表
DROP [TEMPORARY] TABLE [IF EXISTS] 数据表1,数据表2,...,数据表n;
具体操作:
三、数据操作
3.1 增加数据
3.1.1 为部分字段添加数据
INSERT [INTO] 数据表名(字段名1,字段名2,...,字段名n) {VALUES|VALUE} (值1,值2,...,值n);
具体操作:
INSERT [INTO] 数据表名 SET 字段名1 = 值1 [,字段名2 = 值2,...,字段名n = 值n]
- 字段名1,字段名2表示待添加数据的字段的字段名称;值1,值2表示添加的数据。
- 若在SET关键字后,为表中多个字段添加数据,在每对”字段名=值“之间使用逗号相隔即可。
具体操作:
注意:
- 指定的字段名可以是数据表中的全部字段,也可以是部分字段。
- 字段名列表和值列表中,多个字段名之间使用逗号相隔,多个值之间也使用逗号相隔。
- 字段名的编写顺序可与表结构(字段位置)不同,只需保证与后面的值列表中的值对应即可。
- 字段的名称在使用时不需要用引号包裹,未添加的数据的字段系统会自动为该字段添加默认值NULL(空的)。
3.1.2 为所有字段添加数据
INSERT [INTO] 数据表名 {VALUES|VALUE} (值1,值2,...,值n);
具体操作:
注意:
- 在为所有字段添加数据时,可以省略字段名称,严格按照数据表结构(字段的位置)插入对应的值。
- INTO 为可选择项;VALUE 和VALUES可以任选一种,通常情况下使用VALUES;值列表中值之间用逗号隔开。
- 在插入数据时,插入的数据顺序必须与创建数据表时对应的字段位置顺序相同,不可搞乱顺序,规避数据顺序错误情况。
3.1.3 添加多行数据
INSERT [INTO] 数据表名 [字段列表] {VALUES|VALUE} (值列表1) [,(值列表2),...,(值列表n)];
具体操作:
3.2 查询数据:
3.2.1 查询表中全部数据
SELECT * FROM 数据表名;
3.2.2 查询表部分字段
SELECT {字段名1,字段名2,字段名3,...,字段名n} FROM 数据表名;
具体操作:
3.2.3 简单条件查询数据
SELECT * FROM 数据表名 WHERE 条件表达式;
SELECT * FROM 数据表名 WHERE 字段名 = 值;
SELECT * {字段名1,字段名2,字段名3,...,字段名n} FROM 数据表名 WHERE 字段名 = 值;
3.3 修改数据
修改数据操作是对数据表中的部分数据记录进行修改。
UPDATE 数据表名 SET 字段名1 = 值1 [,字段名2 = 值2,...] [WHERE 条件表达式];
具体操作:
3.4 删除数据
删除数据操作是对数据表中存在的数据记录进行删除。
DELETE FROM 数据表名 [WHERE 条件表达式];
具体操作
注意:
- 数据表名指定要执行删除操作的表,WHERE条件为可选参数,用于设置删除的条件,满足删除条件的数据记录就会被删除。
- 在进行删除数据时未指定WHERE删除条件时,系统就会自动删除数据表中的所有数据记录,因此在进行删除数据时需谨慎操作。