1.启动mysql之后 登陆数据库服务器
mysql -uroot -p
2.创建数据库(注意一定是以分号结尾)
1>.创建数据库
create database 数据库名字;
eg: create database first_db;
2>.创建数据库的时候 指定字符集;
create database 数据库名字 character set utf8;
3>.创建数据库的时候 指定字符集和校对规则;
create database 数据库名字 character set utf8 collate 校对规则;
3.查看数据库(注意一定是以分号结尾)
1>.查看所有数据库
show databases;
下面的三个数据库不要去动(一定不要动)
information_schema
performance_schema
mysql
2>.查看数据库的定义语句
show create database 数据库名字;
eg: show create database day01; 就是查看数据库day01的创建语句
4.修改数据库
1>.修改数据库字符集
alter database 数据库的名字 character set 字符集;
5.删除数据库
drop database 数据库名字;
6.其他指令
切换数据库: use 数据库名字;
查看当前正在使用的数据库: select database();
7.表的操作
1>.创建:
create table 表名(
列名 列的类型(长度) 列的约束,
列名 列的类型 列的约束
)
列的类型: char / varchar
列的约束:
primary key 主键约束
unique : 唯一约束
not null 非空约束
create table bb_student(
sid int primary key,
sname varchar(31),
sex int,
age int
);
2>.查看所有的表
show tables;
3>.查看表的创建过程
show create table 表名;
4>.查看表结构
desc 表名;
5>.删除表
drop table 表名;
6>.表中列的操作alter(add, modify, change , drop)
添加列: alter table 表名 add 列名 列类型 列的约束;
修改列: alter table 表名 modify 列名 列类型 列的约束;
修改列名: alter table 表名 change 旧列名 新列名 新列类型 新列约束;
删除列: alter table 表名 drop 列名;
7>.其它操作
修改表明(一般不要去操作): rename table 旧表名 to 新表名
修改字符集(一般不要去操作):alter table 表名 character set 字符集
8>.表中数据的操作
插入: insert into 表名(列名,列名) values(值1,值2),(值1,值2),(值1,值2);
删除: delete from 表名 [where 条件]
eg: delete from 表明 where 列名=值
修改: update 表名 set 列名='值' ,列名='值' [where 条件];
查询(中括号表示可选): select [distinct] [列名1,列名2] from 表名 [where 条件]
注意:where 中多个条件用and连接 类似的逻辑运算符: and or not
as关键字: 别名 (as关键字可以省略)
where条件后面:
(1)关系运算符: > >= < <= != <>
(2)--判断某一列是否为空: is null is not null
(3)in 在某范围内
查出列中等于1,2,5的项目:select * from 表名 where in(1,2,5);
(4)between...and... : 范围
(5)模糊查询: like _ : 代表单个字符; %: 代表的是多个字符
比如查出列中含有asd的数据:select * from 表名 where 列名 like ’%asd%‘;
查第二个字是a的数据:select * from 表名 where 列名 like ’_a%‘;
排序: order by (asc 升序, desc 降序)
eg: select * from 表名 order by 列名 desc;
分组: group by
分组之后条件过滤: having
聚合函数(注意 where之后不能接聚合函数): sum() ,avg() , count() ,max(), min()
eg: select sum(列名) from 表名;
注意 having 关键字 可以接聚合函数 出现在分组之后
select 列名A,avg(列名B) from 表名 group by 列名A having avg(列名B)>60;
而where关键字 不可以接聚合函数,出现在分组之前
8.基本操作流程
1>.登陆连接到mysql:mysql -uroot -p
2>.显示数据库:show databases;
3>.进入需要操作的数据库: use 数据库名字;
4>.查看所有的表信息:show tables;
5>.展现表中内容:select * form 表名;
9.重要(写select的顺序)
S F W G H O
select。from。where。group by。having。order by。