mysql的基本操作

一、权限操作

#1、查询当前用户
select user()

#2、设置密码
set password = password('123456')

#3、给具体某个ip设置账号密码,用来访问数据库(公网ip)
create user 'ceshi100'@'192.168.65.1' identified by '333';

#4、给具体某个网段下的所有ip设置共同的账号密码,用来访问数据库(公网ip) %代表任意的ip 0~255
create user 'ceshi101'@'192.168.65.%'  identified by '444';

#5、所有的ip都可以登录到服务器数据库中
create user 'ceshi102'@'%' identified by '555';

#6、刷新权限
flush privileges

#7、查看哪个ip哪个用户的权限
show grants for 'ceshi102'@'%';

#8、grant 权限 on 数据库.表名 to '用户名'%'ip地址' identified by '密码'
#select 查看数据表的权限
#insert 插入数据表的权限
#update 更新数据表的权限
#delete 删除数据表的权限
#drop   删除数据库的权限
grant select,drop on *.* to 'ceshi102'@'%' identified by "333"
# all 代表所有权限
grant all on *.* to 'ceshi102'@'%' identified by "333"
# 移除权限
# 单个
revoke drop on  *.* from 'ceshi102'@'%'
# 所有
revoke all on  *.* from 'ceshi102'@'%'
# 删除用户
drop user 'ceshi102'@'%'

二、操作数据库

#1、创建一个数据库
create database db0824 charset utf8;

#2、查看所有数据库
show databases

#3、修改数据库
alter database db0824_1 charset gbk

#4、删数据库
drop database db0824_1;

三、数据库表操作

#1、选择数据库
use 数据库名

#2、增加字段
create table t1(id int , name char);

#3、查看所有表
show tables;

#4、查看表结构
desc t1

#5、修改表操作
#修改数据类型
alter table t1 modify name char(5)
#修改字段
alter table t1 change name newname char(4)

#6、删除表
drop table t1;

四、数据类型

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

五、数据库表数据操作

1、增
insert into 表名 values(列值)

2、查
select * from 表名

3、改
update 表名 set 列明=4、删
delete from 表名 where 条件

六、相关函数

1、where

复制代码
where 条件的使用
功能: 对表中的数据进行过滤筛选

1.判断的符号
= > >= < <= != <> 不等于 
2.拼接天骄的关键字
and or not
3.查询范围区间 between
between  小值 and 大值 [小值,大值] 查询两者之间的这个范围所有数据
4.查询某个值在具体某个范围里 in
in(1,2,3,4)
5.模糊查询 like "%" "_" 通配符        
    like "%a"  匹配以a结尾的任意长度的字符串
    like "a%"  匹配以a开头的任意长度的字符串
    like "%a%" 匹配含有a字母的任意长度的字符串
    like "_a"  个数一共是2个字符,必须以a结尾,前面字符随意
    like "a__" 个数一共是3个字符,必须以a开头,后面字符随意

2、group by

group by 字段 对当前字段进行分类 , by后面接什么字段,select 就搜什么字段

select 字段 from 表名 group by 字段;
# 聚合函数
# count 统计总数  *所有
    select count(*) from 表名;
# max   统计最大值
    select max(字段) from 表名;
# min   统计最小值
    select min(字段) from 表名;
# avg   统计平均值
    select avg(字段) from 表名;
# sum   统计总和
    select sum(字段) from 表名;

3、having

在分类分组之后,进行二次数据过滤
一般是配合group by 使用,分组之后过滤

select 字段1,字段2 from 表名 group by 字段1 having 字段2 > 10000

4、order by

排序, 按照什么字段进行排序
asc 升序: 从小到大 (默认)
desc 降序: 从大到小

select * from 表名 order by 字段1, 字段2 desc; 
#先按照字段1排序,如果相同则按照字段2排序

5、limit

限制查询条数 (数据分页)
limit m,n m代表从第几条数据进行查询,0代表第一条,n代表的查询几条

select * from 表名 limit 0,5  # 从第一条数据开始搜, 搜5条数据
select * from 表名 limit 5,5  # 从第六条数据开始搜, 搜5条数据

# 只搜索一条数据
select * from 表名 limit 1
# 只搜索3条数据
select * from 表名 limit 3
# 搜索这个表中最后一条数据
select * from 表名 order by 字段 desc limit 1

6、distinct去重

select distinct 字段 from 表名

七、多表查询

1、内连接
内连接 : (inner join ) -> 两表或者多表满足条件的所有数据查询出来(两表之间的共有数据)

 # 两表查询
    select 字段 from 表1 inner join 表2 on 必要的关联条件
    # 多表查询
    select 字段 from 表1 inner join 表2 on 必要的关联条件1 inner join 表3 on  必要的关联条件

2、外连接
外连接:
1.左连接(左联查询 left join ) 以左表为主,右表为辅,完整查询左表所有数据,右表没有的补null

select * from 表名1 left join 表名2 on 表名1.字段 = 表名2.字段;

2.右连接(右联查询 right join ) 以右表为主,左表为辅,完整查询右表所有数据,左表没有的补null

select * from 表名2 left join 表名1 on 表名2.字段 = 表名1.字段;

3、全连接

select * from 表1 left join 表2 on 表1.字段 = 表2.字段
union
select * from 表1 right join 表2 on 表1.字段 = 表2.字段
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值