一、 数据库登录
mysql -uroot -p
二.、退出数据库
quit 和 exit或ctrl + d
三、数据库操作
1. 查看所有数据库
show databases;
2. 查看当前使用的数据库
select database();
3. 使用数据库
use 数据库名;
4. 创建数据库
create database 数据库名 charset=utf8;
5. 删除数据库
drop database 数据库名;
6.查看当前数据库中所有表
show tables;
7.查看表结构
desc 表名;
8.创建表结构的语法.
create table 表名(
字段名称 数据类型 可选的约束条件);
9.修改表-添加字段
alter table 表名 add 列名 类型;
alter table students add birthday datetime;
10.修改表-修改字段-重命名
alter table 表名 change 原名 新名 类型及约束;
11. 修改表-修改字段不重命名
alter table 表名 modify 列名 类型及约束;
12.修改表-删除字段
alter table 表名 drop 列名;
13.删除表
drop table 表名;
14.查看表的创建语句-详细过程
show create table 表名;
四、表数据的操作
1.增加
insert into 表名 values (...),
insert into 表名 (列1,...) values(值1,...)
2.删除
delete from 表名 where 条件
3.修改
update 表名 set 列1=值1,列2=值2... where 条件
4.查找
select * from 表名;
select 列1,列2,... from 表名;
备注:MySQL的常用类型 bit-int-short-tinyint-x unsigned -decimal char-varchar enum
MySQL常用约束 主键 primary key 非空 not null 默认 default 唯一 unique 外键 foreign key
五、其他操作
1.排序:order by
select * from 表名 where 列1 order by 列2 asc|desc;
asc从小到大排列,即升序;desc从大到小排序,即降序
2.分页:limit
查询前3行男生信息:select * from students where gender=1 limit 0,3;
3.最大值:max(列)
查询女生的编号最大值:select max(id) from students where gender=2;
4总数:count(*)
select count(*) from 表名;
5.最小值:min(列)
查询未删除的学生最小编号:select min(id) from students where is_delete=0;
6.求和:sum(列)
查询男生的总年龄:select sum(age) from students where gender=1;
7.平均值:avg(列)
平均年龄:select sum(age)/count(*) from students where gender=1;
8.分组:group by
根据gender字段来分组:
select gender from students group by gender;
9.使用内连接查询班级表与学生表:
select * from students inner join classes on students.cls_id = classes.id;
10.使用左连接查询班级表与学生表:
select * from students as s left join classes as c on s.cls_id = c.id;
11.使用右连接查询班级表与学生表:
select * from students as s right join classes as c on s.cls_id = c.id;