MySql常用命令

1.# 启动/停止服务
net start/stop 服务名

2.# 连接数据库
mysql -u root -proot

3.# 创建数据库
CREATE DATABASE 数据库名;

4.# 查看所有数据库
SHOW DATABASES;

5.# 使用数据库
USE 数据库名;

6.# 删除数据库
DROP DATABASE 数据库名;

7.# 创建表(创建表之前先选好数据库)
CREATE TABLE student(studentNo int(4) primary key,name varchar(20));

8.# 查看当前数据库下所有的表
SHOW TABLES;

9.# 添加主键约束
CREATE TABLE student(studentNo INT(4) PRIMARY KEY);

10.# 添加注释
CREATE TABLE test (id INT(11) UNSIGNED COMMENT '编号')COMMENT='测试表'' ;

11.# 查看表结构
DESC 表名;

12.# 删除表
DROP TABLE 表名;

13.# 修改表名
ALTER TABLE 旧表名 RENAME[TO] 新表名;

14.# 添加字段
ALTER TABLE 表名 ADD 字段 数据类型 属性|约束;

15.# 修改字段
ALTER TABLE 表名 CHANGE 原字段名 新字段名 数据类型 属性|约束;

16.# 删除字段
ALTER TABLE 表名 DROP 字段名;

17.# 添加主键
ALTER TABLE 表名 ADD CONSTRAINT 主键名 PRIMARY KEY 表名(主键字段);

18.# 添加外键
ALTER TABLE 表名 ADD CONSTRAINT 外键名 FOREIGN KEY(外键字段) REFERENCES 关联表名(关联字段);

19.# MySQL系统帮助
Help 需要帮助的内容;

20.# 查看当前数据库的存储引擎
SHOW VARIABLES LIKE ‘storage_engine%’;

21.# 插入一条数据
INSERT INTO 表名 [(字段名列表)] VALUES (值列表);

22.# 插入多条数据
INSERT INTO 新表 (字段名列表) VALUES(值列表1),(值列表2),……,(值列表n);

23.# 将查询结果放到新表中
CREATE TABLE 新表(SELECT 字段1,字段2…… FROM 原表);

24.# 查询所有结果
SELECT * FROM 表名;

25.# 修改数据
UPDATE 表名 SET 字段1=值1,字段2=值2,…,段n=值n [WHERE 条件];

26.# 删除数据
TRUNCATE TABLE 表名; #TRUNCATE语句删除后将重置自增列,表结构及其字段、约束、索引保持不变,执行速度比DELETE语句快
DELETE FROM 表名 [WHERE条件];

27.# 查询全部数据
SELECT * FROM 表名;

28.# 查询部分列
SELECT 列1,列2,... FROM 表名 [WHERE 条件] ORDER BY 根据哪个列进行排序 [ASC/DESC];

29.# 给列起别名
SELECT studentNo AS 学生编号, studentName AS 学生姓名,address AS 学生地址 FROM student WHERE address <> '河南新乡';

30.# 查询空行
SELECT studentName FROM student WHERE email IS NULL;

31.# limit子句限制结果集
SELECT <字段名列表>
FROM <表名或视图>
[WHERE <查询条件>]
[GROUP BY <分组的字段名>]
[ORDER BY <排序的列名>[ASC 或 DESC]]
[LIMIT [位置偏移量,]行数];


32.# 子查询
SELECT … FROM 表1 WHERE 字段1 比较运算符(子查询)
将子查询和比较运算符联合使用,必须保证子查询返回的值不能多于一个

33.# in子查询
SELECT studentName FROM student
WHERE studentNo IN(
SELECT studentNo FROM result
WHERE subjectNo = (
SELECT subjectNo FROM subject
WHERE subjectName ='Logic Java'
)AND studentResult = 60 );

35.# not in 子查询
SELECT studentName FROM student
WHERE studentNo not IN(
SELECT studentNo FROM result
WHERE subjectNo = (
SELECT subjectNo FROM subject
WHERE subjectName ='Logic Java'
)AND studentResult = 60 );

36.# exists子查询
select ... from 表名 where exists();
子查询有返回结果,exists返回true,执行外层查询;子查询无返回结果,exists返回false,外层查询不执行

37.# 分组后排序
SELECT sex AS 性别,gradeId AS 年级编号,COUNT(*) AS 人数 FROM student
GROUP BY sex,gradeId
ORDER BY gradeId;

38.# 分组后筛选
SELECT * FROM student WHERE studentNo>1
GROUP BY studentNo
HAVING studentNo>2;

39.# 内连接查询
SELECT sub.subjectName,result.studentNo,result.result FROM sub,result
WHERE sub.subjectNo=result.subjectNo;

SELECT S.subjectName,R.studentNo,R.result FROM sub S INNER JOIN result R
ON(S.subjectNo = R.subjectNo);

40.#左外连接查询
SELECT S.subjectName,R.result,R.studentNo FROM sub AS S
LEFT JOIN result AS R ON S.subjectNo = R.subjectNo;

41.#右外连接查询
SELECT S.subjectName,R.result,R.studentNo FROM sub AS S
RIGHT JOIN result AS R ON S.subjectNo = R.subjectNo;

posted @ 2018-05-15 19:36  冯天羽  阅读(108)  评论(0编辑  收藏  举报