MySQL笔记: 基本操作

数据库操作

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
-- 1. 显示当前有哪些数据库
SHOW DATABASES;

-- 2. 创建数据库,设置编码方式为utf8
CREATE DATABASE xxxcompany DEFAULT CHARACTER SET utf8;

-- 3. 删除数据库
DROP DATABASE xxxcompany;

-- 4. 查看数据库
SHOW CREATE DATABASE xxxcompany;

-- 5. 修改数据库
ALTER DATABASE xxxcompany DEFAULT CHARACTER SET gbk;

-- 6. 使用数据库
USE xxxcompany;

表格操作

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
-- 1. 查看所有表格
SHOW TABLES;

-- 2. 创建表格
-- 创建部门表(部门编号,部门名字)
CREATE TABLE department(id INT,NAME CHAR(20));

-- 3. 查看创建的某个表格详细信息
DESC department;

-- 4. 删除表格
DROP TABLE department;

-- 5. 修改表格
-- 5.1 添加字段 部门主管名字
ALTER TABLE department ADD COLUMN departName VARCHAR(3);

-- 5.2 删除字段 部门主管名字
ALTER TABLE department DROP COLUMN departName;

-- 5.3 修改字段类型 原先varchar(20) 改为 varchar(30)
ALTER TABLE department MODIFY COLUMN departName VARCHAR(30);

-- 5.4 修改字段名称 departName 改为 dept
ALTER TABLE department CHANGE COLUMN departName dept VARCHAR(30);

-- 5.5 修改表格名称为 原先department 改为 dept
ALTER TABLE department RENAME TO dept;

-- 6. 数据操作
-- 6.1 添加数据
INSERT INTO department VALUES(001,'工程部');

-- 6.2 删除数据
-- 不加条件,所有都被删除了
delete from student;
delete from student where sid = 1001;

-- 6.3 修改数据
update student set username = 'lisisi' where sid = 1002;
-- 如果不写条件,就会把所有记录都修改了
update student set username = 'lisisisi'

-- 6.4 查询数据
SELECT * FROM 部门表;

-- 7 数据表字段的约束(详见约束)
-- 7.1 主键约束
-- 关键字 PRIMARY KEY

-- 7.2 默认值约束
-- 关键字 DEFAULT

-- 7.3 非空约束
-- 关键字 NOT NULL

-- 7.4 唯一约束
-- 关键字 NOT NULL UNIQUE

-- 7.5 自增长约束
-- 关键字 AUTO_INCREMENT

-- 7.6 外键约束
-- 关键字 FOREIGN KEY

简单查询例子

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
-- 查询表中所有学生的信息。
SELECT * FROM student;
-- 查询表中所有学生的姓名和对应的英语成绩。
SELECT stuName,english FROM student;
-- 过滤表中英语成绩的重复数据
SELECT DISTINCT english FROM student;
-- 使用别名表示学生分数。
-- 表的别名在多表查询时会用到
SELECT id AS '学号',stuName AS '姓名',chinese AS '语文',english AS '英语',math AS '数学' FROM student AS s;
-- 查询所有姓名为杨的学生成绩
SELECT * FROM student WHERE stuName LIKE '杨%';
-- 查询英语成绩大于等于90分的同学
SELECT * FROM student WHERE english > 90;
-- 查询总分大于200分的所有同学
SELECT * FROM student WHERE (english + chinese + math) > 200;
-- 查询所有姓段的学生英语成绩。
SELECT english FROM student WHERE stuName LIKE '段%';
-- 查询英语>80或者总分>200的同学
SELECT * FROM student WHERE english > 80 OR (english + chinese + math) > 200;
-- 统计每个学生的总分。
SELECT stuName AS '姓名',(english + chinese + math) AS '总分' FROM student;
-- 在所有学生总分数上加10分特长分。
文章目录
  1. 1. 数据库操作
  2. 2. 表格操作
  3. 3. 简单查询例子