MySQL 的常用命令

本贴最后更新于 2256 天前,其中的信息可能已经沧海桑田

DDL 语句

DDL(Data Definition Language)语句:数据定义语句。

//创建数据库
CREATE DATABASE dbName;

//显示已有数据库
SHOW databases;

//选择要操作的数据库库
USE dbname;

//查看数据库中所有的表
SHOW TABLES;

//删除数据库
DROP DATABASE dbName;

//创建表
CREATE TABLE tableName (
    column_name_1 column_type_1 constraints,
    column_name_2 column_type_2 constraints,
    ...
    column_name_n column_type_n constraints
);

//查看表定义
DESC tableName;

//查看创建表的 SQL 语句
SHOW CREATE TABLE tableName \G;

//删除表
DROP TABLE tableName;

//修改表类型
ALTER TABLE tableName MODIFY [COLUMN] column_definition [FIRST|AFTER col_name];

//增加表字段
ALTER TABLE tableName ADD [COLUMN] column_definition [FIRST|AFTER col_name];

//删除表字段
ALTER TABLE tableName DROP [COLUMN] col_name;

//字段改名
ALTER TABLE tableName CHANGE [COLUMN] old_col_name column_definition [FIRST|AFTER col_name];

//修改字段排列顺序

//添加一个字段到 列 lolumn_name_1 后面
ALTER TABLE tableName ADD [COLUMN] column_definition AFTER column_name_1;

//添加一个字段到表的第一个位置
ALTER TABLE tableName ADD [COLUMN] column_definition FIRST;

//更改表名
ALTER TABLE tableName RENAME [TO] new_tableName;

CHANGE 和 MODIFY 都可以修改表的定义,不同的是,CHANGE 后面需要些两次列名,不方便。但是 CHANGE 的优点是可以修改列名称,MODIFY 则不能。

CHANGE/FIRST|AFTER COLUMN 这些关键字都属于 MySQL 在标准 SQL 上的拓展,其他数据库不一定适用。

DML 语句

DML(Data Manipulation Language):数据操纵语言。

//1. 插入记录
INSERT INTO tableName (FIELD1,FIELD2,...,FIELDn) VALUES(VALUE1,VALUE2,...,VALUEN);

INSERT INTO tableName VALUES(VALUE1,VALUE2,...,VALUEN);

//一次性插入多条
INSERT INTO tableName (FIELD1,FIELD2,...,FIELDn) VALUES
(RECORD1_VALUE1,RECORD1_VALUE2,...,RECORD1_VALUEn),
(RECORD2_VALUE1,RECORD2_VALUE2,...,RECORD2_VALUEn),
...
(RECORDn_VALUE1,RECORDn_VALUE2,...,RECORDn_VAULEn);

//2. 删除记录
DELETE FROM tableName [WHERE CONDITION];

//一次性删除多个表的数据
DELETE T1,T2,...,Tn FROM T1,T2,...,Tn [WHERE CONDITION];

//3. 更新记录
UPDATE tableName SET FIELD1=VALUE1,FIELD2=VALUE2,...,FIELDn=VALUEn [WHERE CONDITION];

//同时更新多个表中数据
UPDATE T1,T2,...,Tn SET T1.FIELD=EXPR1,Tn.FIELDn=EXPRn [WHERE CONDITION];

//4. 查询记录
SELECT [DISTINCT] * FROM tableName [WHERE CONDITION] [ORDER BY FIELD1 [DESC|ASC] , FIELD2 [DESC|ASC] ,...,FIELDn [DESC|ASC]] [LIMIT offset_start,row_count];

//4.1 聚合
SELECT [FIELD1,FIELD2,...,FIELDn] fun_name FROM tableName [WHERE where_condition] [GROUP BY FIELD1,FIELD2,...,FIELDn] [WIHT ROLLUP] [HAVING where_condition];

//4.2 连接表
//内连接
SELECT FIELD1,FIELD2,...,FIELDn FROM T1,T2 WHERE T1.FIELDm=T2.FIELDm;

//左连接、右连接
SELECT FIELD1,FIELD2,...,FIELDn FROM T1 LEFT|RIGHT JION T2 ON T1.FIELDm=T2.FIELDm;

//4.3 子查询
SELECT * FROM T1 IN|(NOT IN)|=|!=|EXISTS|(NOT EXISTS) (SELECT COLUMN FORM T2);

//4.4 记录联合
SELECT * FROM T1 UNION|(UNION ALL) SELECT * FROM T2 ... UNION|(UNION ALL) SELECT * FROM Tn;

DCL 语句

DCL(Data Control Language):数据控制语句。

GRANT|REVOKE SELECT,INSERT,...,ALTER|(ALL PRIVILIEGES) ON tableName.databaseName to 'userName'@'localhost|IP' identified by 'password';

FLUSH PRIVILEGES;

查询帮助

//显示所有可供查询的分类
? CONTENTS

//显示具体分类
? categorieName(? CONTENTS 显示的类别)

//根据关键字
? keyword
  • MySQL

    MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 公司。MySQL 是最流行的关系型数据库管理系统之一。

    690 引用 • 535 回帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...