第一章 MySQL的使用
1.1 MySQL服务的启动
-- 以管理员身份启动命令行
net start MySQL服务名
net stop MySQL服务名
1.2 客户端连接MySQL
mysql -h 主机IP地址 -P 端口号 -u 用户名 -p回车
Enter Password:密码
如果访问本机,-h localhost可以省略
如果端口号没有修改,-P 3306可以省略
除了-p与密码之间不要空格外,其他的-h,-P,-u与后面的参数值之间可以有空格
想要连接成功,必须保证服务开启的
第二章 DDL操作数据库
2.1 创建数据库(掌握)
create database 数据库名 [character set 字符集] [collate 校对规则]
-- []意思是可选的意思
2.2 查看所有的数据库
2.2.1 查看所有的数据库
show databases;
2.2.2查看数据库的定义结构(了解)
show create database 数据库名;
2.3 删除数据库
drop database 数据库名;
2.4修改数据库(了解)
alter database 数据库名 character set 字符集;
2.5 切换数据库
use 数据库名;
-- 注意: 在创建表之前一定要指定数据库. use 数据库名
2.6 查看正在使用的数据库
select database();
第三章 DDL操作表
3.1 创建表
create table 表名(
列名 类型 [约束] [comment 备注],
列名 类型 [约束] [comment 备注],
...
);
3.2 查看表(了解)
3.2.1 查看所有的表
show tables;
3.2.2 查看表的定义结构
desc 表名;
3.3 修改表(掌握,但是不要记忆)
3.3.1 增加一列
alter table [数据库名.]表名称 add [column] 字段名 数据类型;
alter table [数据库名.]表名称 add [column] 字段名 数据类型 first;
alter table [数据库名.]表名称 add [column] 字段名 数据类型 after 另一个字段;
3.3.2 修改列的类型约束
alter table 表名 modify 字段 类型 约束 ;
3.3.3 修改列的名称,类型,约束
alter table 表名 change 旧列 新列 类型 约束;
3.3.4 删除一列
alter table 表名 drop 列名;
3.3.5 修改表名
rename table 旧表名 to 新表名;
3.4 删除表
drop table teacher;
第四章 DML操作表记录-增删改(重点)
- 准备工作: 创建一张商品表(商品id,商品名称,商品价格,商品数量.)
create table product(
pid int primary key auto_increment,
pname varchar(40),
price double,
num int
);
4.1 插入记录
-- 方式一
insert into 表名(列,列..) values(值,值..);
-- 方式二
insert into 表名 values(值,值....);
4.2 更新记录
update 表名 set 列 =值, 列 =值 [where 条件];
4.3 删除记录
-- 删除数据用delete,一条一条删除,不用truncate
delete from 表名 [where 条件];
-- 把表直接DROP掉,然后再创建一个同样的新表。删除的数据不能找回。执行速度比DELETE快
truncate table 表名;
第五章 DQL操作表记录-查询(重点)
5.1 基本查询语法
select 要查询的字段名 from 表名 [where 条件];
5.2 简单查询
5.2.1 查询所有行和所有列的记录
select * form 表;
5.2.2 查询某张表特定列的记录
select 列名,列名,列名... from 表;
5.2.3 去重查询 distinct
select distinct 字段名 from 表名; -- 要数据一模一样才能去重
5.2.4 别名查询
select 列名 as 别名 ,列名 from 表; -- 列别名 as可以不写
select 别名.* from 表 as 别名; -- 表别名
5.2.5 运算查询
select pname ,price+10 as price from product;
select name,chinese+math+english as total from student
5.3 条件查询(很重要)
select ... from 表 where 条件
-- 取出表中的每条数据,满足条件的记录就返回,不满足条件的记录不返回
5.4 排序查询
-- 创建学生表(有sid,学生姓名,学生性别,学生年龄,分数列,其中sid为主键自动增长)
CREATE TABLE student(
sid INT PRIMARY KEY auto_increment,
sname VARCHAR(40),
sex VARCHAR(10),
age INT,
score DOUBLE
);
INSERT INTO student VALUES(null,'zs','男',18,98.5);
INSERT INTO student VALUES(null,'ls','女',18,96.5);
INSERT INTO student VALUES(null,'ww','男',15,50.5);
INSERT INTO student VALUES(ull,'zl','女',20,98.5);
INSERT INTO student VALUES(null,'tq','男',18,60.5);
INSERT INTO student VALUES(null,'wb','男',38,98.5);
INSERT INTO student VALUES(null,'小丽','男',18,100);
INSERT INTO student VALUES(null,'小红','女',28,28);
INSERT INTO student VALUES(null,'小强','男',21,95);
5.4.1 单列排序
SELECT 字段名 FROM 表名 [WHERE 条件] ORDER BY 字段名 [ASC|DESC];
-- ASC: 升序,默认值; DESC: 降序
5.4.2 组合排序
SELECT 字段