MySQl操作整理01
来源:互联网 发布:算法工程师有哪些证书 编辑:程序博客网 时间:2024/05/16 00:56
MySQl操作整理01
- 连接数据库:
mysql -u [useename] -pmysql -u [username] -h [host] -p
- 用户管理:
create user 'spring'@'192.168.1.1' identified by '123';create user 'spring'@'192.168.1.%' identified by '123';create user 'spring'@'%' identified by '123';drop user 'spring'@'%';rename user 'spring'@'%' to 'new_spring'@'%';set password for 'spring'@'%' = password('ab123');
- 权限管理:
grant select,insert,update on db1.t1 to 'spring'@'%';grant all privileges on db1.t1 to 'spring'@'%';revoke all privileges on db1.t1 from 'spring'@'%';
- 数据库操作:
create database db1 default charset=utf8;create database db1 default charset utf8;drop database db1;show databases;
–
对数据表的操作:
show tables;create table t1( 列名 类型 null, 列名 类型 not null, 列名 类型 not null auto_increment primary key, id int, name char(10))engine=innodb default charset=utf8; # innodb 支持事物,原子性操作 **** # myisam not null:是否为空 auto_increment 表示自增 primary key 主键表示约束(不能重复且不能为空);加速查找;加速查找 一个表只能有一个主键 主键可以由多列组成create table t2( nid int(11) not null auto_increment, pid int(11) not null, num int(11), primary key(nid,pid) )engine=innodb default charset=utf8;create table t3( id int auto_increment primary key, name char(10), id1 int, id2 int, constraint fk_t3_t2 foreign key(id1,id2) reference t2(nid,pid))engine=innodb default charset=utf8;外键: create table department( id bigint auto_increment primary key, title char(15) )engine=innodb default charset=utf8; create table userinfo( uid bigint auto_incremant peimary, name varchar(32), department_id int, constraint fk_user_depar foreign key (department_id) reference color(id) )engine=innodb default charset=utf8;清空表: delete from t1; truncate table t1; #清除auto_increment自增删除表: drop table t1;修改表: 添加列: alter table 表名 add 列名 类型; 删除列: alter table 表名 drop column 列名; 修改列: alter table 表名 modify column 列名 类型; -- 类型 alter table 表名 change 原列名 新列名 类型;-- 列名,类型 添加主键: alter table 表名 add primary key(列名) 删除主键: alter table 表名 drop primary key; alter table 表名 modify 列名 int, drop primary key; 添加外键: alter table 从表 add constraint 外键名(形如:FK_从表_主表) foreign key 从表(外键字段) references 主键(主键字段); 删除外键: alter table 表名 drop foreign key 外键名称 修改默认值: alter table 表名 auto_increment=20; 查看表结构: desc t1;查看创建表信息: show create table t1;
数据类型:
数据类型: 数字、字符串、时间类型 数字: tinyint int bigint float double decimal 字符串: char(10) 速度快 (10)示10个字符 varchar(10) 节省空间 PS:创建数据表长列往前放 时间类型 datetime enum set create table t1( id int signed auto_increment primary key, num decimal(10,5), name char(10) )engine=innodb default charset=utf8; #拿tinyint字段来举例,unsigned后,字段的取值范围是0~255,而signed的范围是-128~127
对数据行进行操作:
insert into t1(name,age) values('autumn',18),('spring',19); insert into t1(name,age) select name,age from tb2; delete from t1 where id >6; delete from t1 where id != 6; truncate table t1; #清除auto_increment自增 update t1 set name='root' where id=5; update t1 set name ='autumn' where id=6 and age=18; select * from t1; select id,name from t1;
查询操作
- 临时表:
select num,course_id from (select num,course_id from score where num >60) as B;
select * from t1; select * from t1 where id=1; select * from t1 where id!=2; select * from t1 where id >2; select * from t1 where id >=2 and name='spring'; select name,age from t1; select * from t1 where id in (1,2,3); select * from t1 where id not in (1,2,3); select * from t1 where id in (select id from t2); select * from t1 where id between 5 and 12;包括2和12 通配符: select * from t1 where name like "a%" select * from t1 where name like "a_" 分页: select * from t1 limit 10; select * from t1 limit 0,10; select * from t1 limit 10,10; select * from t1 limit 2 offset 4; 从第5个开始往后2个 排序: select * from t1 order by id desc;从大到小 select * from t1 order by id asc; 从小到大 select * from t2 order by id desc, age asc; distinct: select DISTINCT student_id from score where num < 60 取最后5条数据 select * from t1 order by id desc limit 5; 分组: select count(1),max(id),part_id from userinfo group by part_id; count() max() min() sum() avg() *******如果对聚合函数进行二次筛选时,必须使用having****** select count(1),max(id),part_id from userinfo group by part_id having count(id) > 1; select count(id),part_id from userinfo where id >0 group by part_id having count(id) > 1; 连表操作: select * from userinfo,department;笛卡尔基 select * from userinfo,department where userinfo.uid =department.id select * from userinfo left join department on userinf.uid = department.id(在之前版本的myqsl中 这两种方式是有性能差别,但是在现在版本的mysql中性能是一样的,推荐用 left join 的方法) select * from userinfo right join department on userinfo.uid = department.id left:左边表全显示,right:右边全显示 select * from userinfo innder join department on userinfo.uid = department.id 将出现null的一行隐藏 select * from department5 left join userinfo5 on userinfo5.part_id =department5.id left join userinfo6 on userinfo5.part_id =department5.id select score.sid, student.sid from score left join student on score.student_id = student.sid left join course on score.course_id = course.cid left join class on student.class_id = class.cid left join teacher on course.teacher_id=teacher.tid select count(id) from userinfo;
阅读全文
0 0
- MySQl操作整理01
- MySql操作要点整理
- MYSQL字符串操作整理
- MYSQL操作整理
- Mysql批量操作整理
- MySQL操作语法整理
- mysql 常用操作(整理)
- (整理)Ubuntu Mysql 基本操作
- MySql 基本操作语句整理
- mysql 常用操作(整理)
- mysql 常用操作(整理)
- Mysql基础操作简单整理
- MYSQL操作语法(整理一)
- Mysql的相关操作语句整理
- mysql 表的基本操作整理
- 小伙伴整理的mysql命令操作
- mysql 学习:数据库操作:增删改整理
- MySQL数据库基础语句操作整理
- 解决移动端可恨的滚动穿透问题
- c语言上机考试(二)
- Android ListView控件
- Linux进程通信之消息队列的双向通信
- keras的基本用法(五)——图像predict
- MySQl操作整理01
- 常用查找算法
- QT编译链接问题之一
- css之BFC总结
- Error:Execution failed for task ':app:mergeDebugResources'. > Some file crunching failed, see logs f
- SpringBoard相关api记录
- 【python 可视化】python利用matplotlib库绘制饼图案例
- 从数据库获取下拉菜单数据 原生连接mysql语句
- Servlet 生命周期、工作原理