标签:索引 database 连接查询 SQ having insert name mysql常用命令 engine
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;
标签:索引 database 连接查询 SQ having insert name mysql常用命令 engine
原文地址:https://www.cnblogs.com/fzc521/p/9042700.html