sudo apt-get install mysql-server 安装服务器端
sudo service mysql start 启动服务
ps ajx | grep mysql 查看进程中是否存在mysql 服务
sudo service mysql stop 停止服务
sudo service mysql restart 重启
sudo apt-get install mysql-client 安装命令行客户端
1,内连接: 取两个表的交集
select * from 表1 inner join 表2 on 表1.xxx = 表2.xxx;
2.左连接: 查询的结果为两个表匹配到的数据,左表特有的数据,对于右表中不存在的数据使用null填充
select * from 表1 left join 表2 on 表1.xxx = 表2.xxx;
3.右连接: 查询的结果为两个表匹配到的数据,右表特有的数据,对于左表中不存在的数据使用null填充
select * from 表1 right join 表2 on 表2.xxx= 表2.xxx;
4.自连接: select * from 表名 as xx1 inner join 表名 as xx2 on xx1.xxx= xx2.xxx;
2.一个表中的一行数据插入另一个表中的一行
insert into 表1 (字段名) (select xxx from 表2 where xxxx其他条件);
3.根据一个表中的一列数据 更新 另一个表中的一列数据
update (表1 inner join 表2 on 表1.xxx=表2.xxx) set 表1.字段名 = 表2.字段2;
原理 eg: select * from 表1 inner join 表2 on 表1.xxx=表2.xxx; --->查询这个俩表关联起来
update 上面关联表结果 set 两表中的一个表的字段 ----> update中把select ...from 去掉
select 字段1[,....] from 表 group by 字段1; -- 可以起去重作用
select 字段 from 表 group by 字段 having 条件... ;
eg: select gender,count(*) from students group by gender having coun(*)>2;
6.创建表的同时插入数据
create table 表名 (
id int unsigned primary key auto_increment,
字段2,
....
) select 字段1... from 表 ....
坏处: 只能对基本不修改的表添加 索引加速查的性能 ,经常改的表加上索引 会导致 插入修改时同时更新索引 速度会降低很多
对性能影响很大
原理:就是将表数据分段
总:索引是个双刃剑,需用好,不然就不用
查看索引:show index from 表名
创建索引:create index 索引名 on 表名(表字段名(长度)) --->字段类型不是字符串,可以不写长度 长度需与字段定义的一致
删除索引:drop index 索引名称 on 表名
总:
select * from xxx where 条件 group by xx order by xx asc | desc limit n,m
select distinct *
from 表名
where ....
group by ... having ...
order by ...
limit start,count
一.数据库 mysql创建使用:sudo apt-get install mysql-server 安装服务器端sudo service mysql start 启动服务ps ajx | grep mysql 查看进程中是否存在mysql 服务sudo service mysql stop 停止服务sudo service mysql restart 重启su...