mysql的基础操作

### part1

登录mysql的完整语法
mysql -u用户名 -p密码 -h地址ip

(1) 登录mysql语法 默认root账户 是系统最高权限用户

mysql -uroot -p
127.0.0.1 =>localhost 本地ip地址

(2) 退出mysql

exit 或者 \q

(3) 远程连接mysql服务器

mysql -uroot -p -h192.168.65.135

### part2

查询当前登录的用户是谁

select user()

设置密码

set password = password(“123456”)

去除密码

set password = password("")

### part3

ifconfig | ipconfig

给具体某个ip设置账号密码,用来访问数据库(公网ip)

create user ‘ceshi100’@‘192.168.65.1’ identified by ‘333’;

给具体某个网段下的所有ip设置共同的账号密码,用来访问数据库(公网ip) %代表任意的ip 0~255

create user ‘ceshi101’@‘192.168.65.%’ identified by ‘444’;

所有的ip都可以登录到服务器数据库中

create user ‘ceshi102’@’%’ identified by ‘555’;

刷新权限,立刻生效

flush privileges

查看哪个ip哪个用户的权限

‘’‘USAGE 没有任何权限’’’
show grants for ‘ceshi102’@’%’;
±-------------------------------------+
| Grants for ceshi102@% |
±-------------------------------------+
| GRANT USAGE ON . TO ‘ceshi102’@’%’ |
±-------------------------------------+

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’@’%’

刷新权限,立刻生效

flush privileges

### part4 (必须会)

(1) 操作[数据库] (文件夹)


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

# 查看所有数据库
show databases
# 查看建立数据库的语句
show create database db0824 # CREATE DATABASE db0824 /*!40100 DEFAULT CHARACTER SET utf8 */

alter database db0824_1 charset gbk


drop database db0824_1;

(2) 操作[数据表] (文件)

先选择数据库

use 数据库名


# 字段名1 类型1 ,字段名2 类型2 , … …
create table t1(id int , name char);


# 查看所有表
show tables;
# 查看建表语句 配合\G 可以垂直显示
show create table t1;
“”"
Create Table: CREATE TABLE t1_1 (
id int(11) DEFAULT NULL,
name char(1) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8
“”"

# 查看表结构
desc t1


# modify 只能改变数据类型
alter table t1 modify name char(5)
# change 连字段名 + 类型一起改变
alter table t1 change name newname char(4)
# add 添加字段
alter table t1 add age int;
# drop 删除字段 column列
alter table t1 drop column age
# rename 更改表名
alter table t1 rename t1_2


drop table t1_2;

(3) 操作[记录] (文件中的数据)


# 一次插入一条数据
‘’‘insert into 表名(字段1,字段2,…) values(值1,值2, … )’’’
insert into t1_1(id,name) values(1,“xboy1”);
# 一次插入多条数据
insert into t1_1(id,name) values(2,“xboy2”),(3,“xboy3”),(4,“xboy4”);
# 不指定具体字段插入(默认把所有字段对应的值插一遍)
insert into t1_1 values(5,‘xboy5’);
# 指定单个字段插入数据
insert into t1_1(name) values(‘xboy6’);


# * 代表所有
select * from t1_1;
# 指定字段进行查询
select id,name from t1_1;

#改
# update 表名 set 字段=值 where 条件
update t1_1 set name=“王闻你真帅” where id = 1
# 切记更改时,加上条件,否则全都改掉了
update t1_1 set name=“王闻你真帅”

#删
# 指定id=2的这条数据删除
delete from t1_1 where id = 1
# 如果不加条件,删除所有数据
delete from t1_1

# 重置数据表 (删除数据 + 重置id)
truncate table t1_1;

### part3 常用数据类型

整型

tinyint 1个字节 有符号(-128 ~ 127) 无符号(unsigned) (0 ~ 255) 小整型值
int 4个字节 有符号(-21亿 ~ 21亿 左右) 无符号(unsigned) (0 ~ 42亿) 大整型值

create table t1(id int , age tinyint );
insert into t1 values(2200000000,1) error
insert into t1 values(2100000000,1) 
insert into t1 values(2100000000,128)  error
insert into t1 values(2100000000,127)  

浮点型

float(255,30) 单精度
double(255,30) 双精度
decimal(65,30) 金钱类型,使用字符串的形式保存小数

"""默认存在四舍五入"""
create table t2(f1 float(5,2) , f2 double(5,2) , f3 decimal(5,2));
insert into t2 values(1.77777777777777777777777777,1.77777777777777777777777777,1.77777777777777777777777777);

"""float 默认小数保留5位,double小数位截取16位,decimal(10,0) 默认保留整数,存在四舍五入"""
create table t3(f1 float,f2 double ,f3 decimal); 
insert into t3 values(1.77777777777777777777777777,1.77777777777777777777777777,1.77777777777777777777777777);

create table t4(f1 float(5,2));
insert into t4 values(12.34567889) # 12.35
insert into t4 values(123.34567889) # 123.35
insert into t4 values(1234.34567889) error 

字符串

char 字符长度 255个
varchar 字符长度 21845个 (注意:总字节数不超过65535)

char(11) 定长 : 固定开辟11个字符长度的空间(手机号,身份证号,银行卡), 开辟空间速度上char速度更快
varchar(11) 变长 : 最多开辟11个字符长度的空间(评论,消息留言,地址), 开辟速度相较于char慢一点.
text 文本类型,存论文,小说,文章…

create table t5(c char(11), v varchar(11) , t text);
insert into t5 values('1111',"酸辣粉加上队列副经理开","sdfsdf234");
insert into t5 values('1111',"酸辣粉加上队列副经理2开","sdfsdf234"); error
# concat 拼接任意长度的字符串
select concat(c,":",v,":",t) from t5;

mysql 中函数

select user()
select concat()
select concat(参数1,参数2,参数3 , … ) 把所有的参数拼接在一起

枚举 和 集合

enum 枚举 : 从列出来的数据当中选一个(性别)
set  集合 : 从列出来的数据当中选多个(自动去重) 爱好


create table t6(
id int,
name varchar(10),
money float(6,3),
sex enum("男性","女性","禽兽","人妖","雌雄同体","半兽人","阿凡达"),
hobby set("吃肉","抽烟","喝酒","喝假酒")
);


# 正常
insert into t6(id , name ,money , sex , hobby) values(1,"克拉伊买买提",56.7891,"半兽人","喝假酒,抽烟");
# 自动去重
insert into t6(id , name ,money , sex , hobby) values(1,"克拉伊买买提",56.7891,"半兽人","喝假酒,抽烟,抽烟,抽烟,抽烟");
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值