MYSQL(һ)

匿名 (未验证) 提交于 2019-12-02 22:02:20

MYSQL(һ)

Ŀ¼

MYSQL(һ)

1.1数据库的操作

1.2数据表的操作


1.1数据库的操作

a.显示数据库

 show databases;

b.创建,删除数据库

 create database db1; create database db1 default charset utf8;   drop database db1

c.使用数据库

 use 数据库名;

d.用户管理

 进入mysql,查看user,host use mysql; select user,host from user;  创建用户     create user '用户名'@'IP地址' identified by '密码'; #'alex'@'192.168.1.% 删除用户     drop user '用户名'@'IP地址'; 修改用户     rename user '用户名'@'IP地址'; to '新用户名'@'IP地址';; 修改密码     set password for '用户名'@'IP地址' = Password('新密码')

e.授权管理

 show grants for '用户'@'IP地址'                  -- 查看权限 grant  权限 on 数据库.表 to   '用户'@'IP地址'      -- 授权 revoke 权限 on 数据库.表 from '用户'@'IP地址'      -- 取消权限

1.2数据表的操作

a.显示表

 show tables; 

b.创建表

 create table t1(             列名 类型 null,             列名 类型 not null,             列名 类型 not null auto_increment primary key,             id int,             name char(10) )engine=innodb default charset=utf8;  #innodb 支持事务,原子性操作 #auto_increment 表示:自增 #primary key:  表示 约束(不能重复且不能为空); 加速查找 #not null: 是否为空

c.清空,删除表

 delete from 表名; truncate table 表名; drop table 表名;

d.数据类型

 

e.修改表

 添加列:         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 testalter_tbl ALTER i SET DEFAULT 1000; 删除默认值:ALTER TABLE testalter_tbl ALTER i DROP DEFAULT;

f.表内操作

 1、增 insert into 表 (列名,列名...) values (值,值,值...) insert into 表 (列名,列名...) values (值,值,值...),(值,值,值...) insert into 表 (列名,列名...) select (列名,列名...) from 表  2、删 delete from 表 delete from 表 where id=1 and name='alex'  3、改 update 表 set name = 'alex' where id>1  4、查 select * from 表 select * from 表 where id > 1 select nid,name,gender as gg from 表 where id > 1  5、其他 a、条件     select * from 表 where id > 1 and name != 'alex' and num = 12;       select * from 表 where id between 5 and 16;       select * from 表 where id in (11,22,33)     select * from 表 where id not in (11,22,33)     select * from 表 where id in (select nid from 表)   b、通配符     select * from 表 where name like 'ale%'  - ale开头的所有(多个字符串)     select * from 表 where name like 'ale_'  - ale开头的所有(一个字符)   c、限制     select * from 表 limit 5;            - 前5行     select * from 表 limit 4,5;          - 从第4行开始的5行     select * from 表 limit 5 offset 4    - 从第4行开始的5行   d、排序     select * from 表 order by 列 asc              - 根据 “列” 从小到大排列     select * from 表 order by 列 desc             - 根据 “列” 从大到小排列     select * from 表 order by 列1 desc,列2 asc    - 根据 “列1” 从大到小排列,如果相同则按列2从小到大排序   e、分组     select num from 表 group by num     select num,nid from 表 group by num,nid     select num,nid from 表  where nid > 10 group by num,nid order nid desc     select num,nid,count(*),sum(score),max(score),min(score) from 表 group by num,nid       select num from 表 group by num having max(id) > 10       特别的:group by 必须在where之后,order by之前   f、连表     无对应关系则不显示     select A.num, A.name, B.name     from A,B     Where A.nid = B.nid       无对应关系则不显示     select A.num, A.name, B.name     from A inner join B     on A.nid = B.nid       A表所有显示,如果B中无对应关系,则值为null     select A.num, A.name, B.name     from A left join B     on A.nid = B.nid       B表所有显示,如果B中无对应关系,则值为null     select A.num, A.name, B.name     from A right join B     on A.nid = B.nid   g、组合     组合,自动处理重合     select nickname     from A     union     select name     from B       组合,不处理重合     select nickname     from A     union all     select name     from B

文章来源: https://blog.csdn.net/zeroooorez/article/details/92560821
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!