1.MySQL :数据库管理系统 (Oracle公司)2.数据库类型
* RDBMS:关系型数据管理系统 (MySQL,SQL-Server)
* NoSQL:非关系型数据
3.安装方式
* yum -y install mariadb mariadb-server (MySQL社区型)
* 源码安装,极其麻烦
* 二进制安装 (绿板,不需要编译)
4.mysql登录
1. systemctl start mariadb
2. mysqladmin -uroot password 123123 //设置密码
3. mysql -uroot -p123123 //登录
5.SQL语句
* DDL 数据定义语句 主要管理库和表
* DML 数据操纵语句 管理表中数据
* DQL 数据查询语句 数据查询
* DCL 数据控制语句 设置用户,权限等
6.库操作
* create database 库名; /创建库
* show databases; /查看所有库
* drop database 库名; /删除库
* use 库名; /使用库
* show tables; /当前父中查看所有表
7.表操作
* create table 表名 (id int(3),name varchar(20),date date,age int(3)) default charset=utf8; //创建表
* desc 表名; //倒叙查看表
* show create table 表名; //查看创建的表
* select * from 表名; //查看表中内容
* drop table 表名; //删除表
* alter table 表名 change id id1 int(10); //修改字段名,和数据类型
* alter table 表名 modify id int(10); //修改数据类型 (change可以比modify可有多改一个名字)
* alter table 表名 add 字段名 数据类型 【first|after 字段名】; //给表中添加字段
* alter table 表名 modify 字段名 数据类型 first; //修改某字段到第一行
* alter table 表名 change 字段名 新字段名 数据类型 first ; //更改字段设置为第一行
* alter table 表名 rename 新表名; //修改表名
* alter table 表名 drop; //删除表
* rename table 新表名 to 旧表名; //改表名
8.DML数据操作 1)增
* insert into 表名 values (数据1,“汉字数据”,数据3); //添加内容到表
* insert into 表名 values (数据,…),(数据,…) ; //添加多个到表
2)删
* delete from 表名 where 字段名=对应数据; //删除表中指定内容
3)改
* update 表名 set 字段=新数据 where 字段名=对应数据 and 字段名=对应数据; //修改表中指定内容 and可以换成&&
4)查
*
select 字段1,字段2 from 表名; //查看表中指定字段内容
*
实例: select user,host,password from mysql.user
*
select * from 表名 order by 字段名; //按指定字段排序
*
select * from 表名 order by 字段名 desc ; //倒叙排序,默认asc升序。
*
select * from 表名 order by 字段1,字段2 desc;//按字段1升序排序,一样的按字段2倒序排序。
*
select * from 表名 where 字段名=对应数据; //按要求查找
*
select * fom 表名 order by 字段名 desc limit 1,1; //倒序排序后取第二行,从0开始算起的,1,1是从1开始取1行。
*
select distict * from 表名; //去重
*
select * from 表名 where name like ‘谢%’; // 找姓谢的
9.忘记mysql密码操作
1.
systemtcl stop mariadb //关闭服务
2.
mysql-safe --skip-grant-tables& //安全模式免密登录
3.
update mysql.user set pasword=password(“新密码”) where user=“root” and host=“localhost”; //修改密码
4.
jobs -l //查看服务id
5.
kill -9 服务id //结束服务
6.
jobs -l //确定服务已经结束
7.
systemctl start mariadb //开启服务
8.
mysql -uroot -p新密码 //重新登陆
10.几种算法
sum(),avg(),max(),min(),count()
*
select sum(字段名)from 表名; //求和指定字段
*
select count * from 表名; //求行数
*
select count(字段名)from 表名 where 字段名=对应数据; //查找指定字段符合条件的人
*
select max(字段名)from 表名; //找指定字段中最大的内容
*
select * from 表名 where 字段名 in (select max(字段名)from 表名); //嵌套使用
*
select avg(字段名) from 表名 group by 字段名; //聚合,分组求平均值
*
select name from students group by name having avg(age)> 18 ; //过滤平均年年龄大于18的人
*
where group by having //固定格式,不推荐使用having
11.表联合
*
内连接 表名 inner join 表名 on 条件
*
外连接 左连接left 右链接right
*
全连接
*
select distinct name,身高,体重 from 表名1,表名2 where 表名1.字段=表名2.字段;
*
select distinct name,身高,体重 from 表名1 inner join 表名2 on 表名1.字段=表名2.字段;
*
select distinct name,身高,体重 from 表名1 left join 表名2 on 表名1.字段=表名2.字段;
*
select distinct name,身高,体重 from 表名1 right join 表名2 on 表名1.字段=表名2.字段;