一.登录部分指令

指令 描述
-p(--password) 密码
-u(--user) 用户名
-P(--port) 端口号
-h(--host) 服务器名称
-V(--version) 输出MySQL版本信息
--prompt 修改提示符(\D 完整日期 \d 当前数据库 \h服务器名称) \u当前用户
exit / quit / \q 退出登录

二.CRUD指令

增加(添加)指令

数据库与数据表

常用命令 描述
CREATE {DATABASE|SCHEMA} [IF NOT EXISTS] db_name [DEFAULT] CHARACTER SET [=] charset_name ; 创建一个数据库
CREATE TABLE [IF NOT EXISTS] tb_name(col_name data_type,…); 创建一张数据表
INSERT [INTO] tb_name[(col_name,…)] VALUES(val,…); 插入一条记录
ALTER TABLE tb_name ADD new_col_name TYPE [DEFAULT ‘默认值’] [COMMENT] [AFTER col_name] ; 添加表字段

删除指令

数据库与数据表

常用指令 描述
DROP {DATABASE | SCHEMA} [IF EXISTS] db_name; 删除一个数据库
DROP TABLE table_name; 删除一个数据表
ALTER TABLE tb_name DROP col_name; 删除表中一个字段
DELETE FROM tb_name [WHERE 子句][ORDER BY 子句] [LIMIT 子句] 删除表中数据

修改指令

数据库

常用指令 描述
ALTER {DATABASES | SCHEMA} [db_name] [DEFAULT] CHARACTER SET [=] charset_name; 修改数据库编码方式

数据表

常用指令 描述
ALTER TABLE tb_name RENAME [to/as] new_tb_name; 修改数据表名
ALTER TABLE tb_name CHANGE [column] old_name new_name [first or after col_name] col_type; 修改数据表列名,位置,类型
UPDATE tb_name SET field1=new-value1, field2=new-value2[WHERE Clause]; 更新表内数据
ALTER table tb_name ENGINE = engine_name; 修改表引擎

查询(搜索)指令

服务器属性查询

常用命令 描述
SELECT VERSION(); 显示当前服务器版本
SELECT NOW(); 显示当前时间
SELECT USER(); 显示当前用户

数据库信息和表结构查询

常用命令 描述
SHOW {DATABASES | SCHEMAS} [LIKE ‘pattern’ | WHERE expr]; 查看当前服务器下数据库
SHOW CREATE DATABASE db_name; 查看创建的数据库详细信息
SHOW TABLES [FROM db_name] [LIKE ‘pattern’ | WHERE expr]; 查看当前数据表列表
SHOW COLUMNS FROM tb_name; 查看数据表结构
SHOW WARNINGS; 查看警告信息

表内容查询

1
2
3
4
SELECT column_name,column_name
FROM table_name
[WHERE Clause]
[LIMIT N][ OFFSET M]
  • 查询语句中你可以使用一个或者多个表,表之间使用逗号(,)分割,并使用WHERE语句来设定查询条件。

  • SELECT 命令可以读取一条或者多条记录。

  • 你可以使用星号(*)来代替其他字段,SELECT语句会返回表的所有字段数据

  • 你可以使用 WHERE 语句来包含任何条件。

  • 你可以使用 LIMIT 属性来设定返回的记录数。

  • 你可以通过OFFSET指定SELECT语句开始查询的数据偏移量。默认情况下偏移量为0。

常见实例:

1.查询数据表中全部记录

1
select * from tb_name;

2.查询数据表总数

1
select count(0) from tb_name;

3.查询id为20185584的学生的年龄与性别(表名为users)

1
select age,gender from users where id = 20185584;

MySQL数据类型

三. 拓展功能

数据字典

先获取所有数据库表信息:

1
SELECT * FROM information_schema.COLUMNS;

然后选定特定的库和表,打印数据字典:

1
2
3
4
5
6
7
8
9
10
11
12
13
SELECT
t.TABLE_SCHEMA AS 库名,
t.TABLE_NAME AS 表名,
t.COLUMN_NAME AS 字段名,
t.COLUMN_TYPE AS 数据类型,
CASE IFNULL(t.COLUMN_DEFAULT,'Null')
WHEN '' THEN '空字符串'
WHEN 'Null' THEN 'NULL'
ELSE t.COLUMN_DEFAULT END AS 默认值,
CASE t.IS_NULLABLE WHEN 'YES' THEN '是' ELSE '否' END AS 是否允许为空,
t.COLUMN_COMMENT AS 字段说明
FROM information_schema.COLUMNS t
WHERE t.TABLE_SCHEMA='库名' AND t.TABLE_NAME='表名';