MySQL命令 整合

修改密码
update user set authentication_string=password('1234') where user='root';

1,在windows 下修改密码
1,进入mysql
2, use mysql (虚拟机修改密码就是把 password 换成 authentication_string=)
3, update user set password = password('1234') where user='root'
4, 关闭mysql
数据类型 int数字 decimal(1,2)浮点 varchar() 字符串 date(年月日) datetime(保函所有时间)
增删改查 增 insert 删 delete 改update 查 select
rount(avg(age),2)保留两位小数 avg 平均值
一个汉字占多少长度与编码有关:
UTF-8:一个汉字=3个字节
GBK:一个汉字=2个字节

约束
primary key 主键
auto_increment 自增
not null 非空
foreign key 外键
unique 唯一
default 默认
decimal 浮点


mysql -uroot -p #今天mysql
show databases; #查看所有库
quit exit ctrl +d #退出mysql




select now #查看时间
select version() #查看版本号version
select * from 表名 ; #查看表中内容
select * from 表名 where id between 3 and 8; #连续范围 where 列名 between 初始范围 and 结束范围
select round(avg(id),2) from book;; #保留两位小数 avg平均值  round(,保留几位)
select * from 表名 where 类型 * and *;(如 1 and 5 ) #连续范围查找
select * from student where id in(1,3,5,7); #不连续范围 in()
select * from 表名 where 类型 like '内容%' and 类型 like '内容%'; #查关于莫类型 某名字
select * from 表名 where 类型>'2006-0-06'; #比字符串大小
select id(要显示的内容 若显示全部用*代替) from book order by id(按照什么排序) desc(倒序); 排序
select sum(id) from book; #求和
select avg(price) from book; #求平均值
select count(id) from book; #获取总行数
select * from book limit 4,2; #从哪行开始 查几排
select * from score where degree between 60 and 80 order by degree desc; #排序查询范围
select distinct 列名 from 表名 #去重单列



alter table 旧表名 rename 新表名 #更换表名
alter table 表名 modify 列名 类型 约束; #修改表的类型和约束
update 表名 set 列名=新值 where (id=2) #修改内容
update book set price=10 where id in(8,9,10); #where id in (可放多id)
update 表名 set 列名 =‘ 男’where id in (1,2,3,4) #把新添加的列添加数据
alter table 旧表名 rename 新表名 #修改表名
alter table 表名 change 旧列名 新列名 类型 约束 #修改列名
alter table 表名 modify 列名 新类型 (新参数 约束) #修改已有列类型


insert into 表名 values( id int primary key) #增加内容
alter table 表名 add 类型 约束; #添加类型 和约束
alter table 表名 add 类型名 tinyint #增加布尔值 1 是true 2 是 false


delete from 表名 where 类型=类型(如‘张三’如 1) #删除某一内容 背
alter table 表名 drop 列名 #删除列
drop table 表名 #删除表
alter table 子表名 drop foreign key 外键名称 #删除外键

分组
select publish from book group by publish; #分组对查询后的结果分select publish,group_concat(bookname) from book group by publish; #concat(连带某类次数)
select publish,count(bookname) from book group by publish; #分组查询莫一分组数量
select publish,count(bookname) from book group by publish having count(*)>1; #分组后用having添加条件
select publish,count(bookname) from book group by publish with rollup; #总结后 再求和

外键
给谁添加外键谁就是子表
alter table 子表名 add foreign key(列名) references 主表(列名); #创建外键
alter table 子表名 add foreign key (列名) references 主表(id)
foreign key(列名) references 主表(id)
foreign key(t_id) references book(id) ); #简单版
show create table table 表名 #查看外键
alter table 表名 drop foreign key 外键名 #取消外键约束


连接查询
select * from 表1 inner join 表2 on 相同类型(表1.id=表2.pid) #连接查询
select * from ares as a inner join ares as b on a.id=b.pid; #as 重命名
create view vlia as select department.dname,employee.uname from department,employee where department.cid=employee.uid;

select b.name,max(score) from students as a inner join class as b on a.id=b.id group by b.name;
#连接查询多个列表 分组

posted @ 2020-06-02 22:39  老祝头  阅读(152)  评论(0编辑  收藏  举报