# ### mysql ''' 命令可以用tab来补全 d: D:>cd MySQL5.7 D:>cd D:MySQL5.7mysql-5.7.25-winx64in 直接切换到对应的路径 D:>dir 来查看文件夹里面的内容 ''' cls 清屏(winodw) ctrl+l 清屏(linux) ctrl + c 终止 [windows] 在超级管理员权限下才能使用: net start mysql 启动mysql net stop mysql 停止mysql [linux] service mysql start 启动mysql service mysql stop 停止mysql service mysql restart重启mysql # ### part1 登录完整语法: mysql -u用户名 -p密码 -h地址ip #(1)登录到本地mysql 默认用户root 是最高权限用户 mysql -uroot -p localhost => 127.0.0.1 本地Ip地址 #(2)退出mysql q 或者 exit #(3) 远程连接mysql 服务器 mysql -uroot -p -h192.168.65.130 # ### part2 #查询当前登录的用户的谁 select user(); #设置密码 set password = password("123456"); #去除密码 set password = password(""); # ### part3 ipconfig windows | ifconfig linux #windows连接远程linux中的mysql create user "ceshi100"@"192.168.65.1" identified by "333"; #给具体某个网段下的所有ip设置账户 % 代表任意的数据 0-255 create user "ceshi11"@"192.168.111.%" identified by "111" #所有的ip都可以登录 % 任意所有ip create user "ceshi12"@"%" identified by "111" '''USAGE 没有任何权限''' mysql> show grants for "ceshi12"@"%"; Grants for ceshi12@% Grant USAGE ON *.* TO "ceshi12"@"%" grant 权限 on 数据库.表名 to "用户名"%"ip地址" identified by "密码" ''' #主要权限 select 查询数据库的权限 insert 插入数据库的权限 update 更新数据库的权限 delete 删除数据库的权限 * 代表所有 ''' grant select on *.* to "ceshi12"@"%" identified by "222"; #all 代表所有权限 grant all on *.* to "ceshi12"@"%" identified by "333"; #查看所有数据库 show databases; #移除权限 revoke all on *.* from "ceshi12"@"%"; #删除账户 drop user "ceshi12"@"%"; #刷新权限,立刻生效 flush privileges # ### part4 #(1) 操作数据库文件夹 增 #创建数据库 create database db0616 charset utf8; 查 #查看所有数据库 show databases; #查看数据库的建表语句 show create database db0616; 改 # alter 更改数据库的字符集 alter datebase db0616 charset gbk; 删 # 删除数据库db0616 drop database db0616; #(2) 操作[数据库](文件) 选择数据库 use 数据库名 增 #int 整型 char 字符 #字段名1 类型1,字段名2 类型2.... create table t1(id int,name char); 查 #查询所有数据表 show tables; #查看表的建表语句 show create table t1G; #(加上G 垂直显示,默认横向显示) #查看表结构 desc t1; 改 #modify 只能改变数据类型 alter table t1 modify name char(5); #drop 删除字段 column列(字段,关键字) alter table t1 drop column age; #rename 更改表名 alter table t1 rename t1_1; 删 #删除表t1 drop table t1_1; #(3)操作记录(文件里面的数据) '''mysql null 相当于 python None 是一样的 代表空的 什么也没有''' 增 #一次插入一条数据 '''insert into 表名(字段1,字段2...)values(值1,值2...)''' insert into t1(id,name) values(1,"liuwei1") #一次插入多条数据 insert into t1(id,name) values(2,"liuwei2"),(3,"liuwei3"),(4,"liuwei4"); #不指定具体字段,默认把所有字段 insert into t1 values(5,"liuwei5"); #可以具体指定某个字段进行插入 insert into t1(name) values("liuwei6"); 查 #*代表所有 select * from t1; #把要搜索的字段写在select 后面 select id,name from t1; 改 #update 表名 set 字段=值 where 条件 update t1 set name = "刘伟" where id = 1; #如果不加条件,所有的数据都会被改掉 update t1 set name = '刘伟'; 删 #删除id为2的这条数据 delete from t1 where id =2; delete from t1; #重置数据表(重置id) 相当于删除 truncate table t1; # ### part5 常用数据类型 #整型 tinyint 1个字节 有符号(-128~127) 无符号(unsigned)(0~255) 小整型值 int 4个字节 有符号(-21亿~21亿 左右) 无符号(0~42亿左右) 大整型值 create table t1(id int,sex tinyint); insert into t1 values(4000000000,127); error insert into t1 values(2000000000,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.666666666666666666666666666,1.666666666666666666666666666,1.666666666666666666666666666) '''float 小数位默认保留5位,double小数位默认保留16位,decimal 默认保留整数位 存在四舍五入''' create table t3(f1 float,f2 double,f3 decimal); insert into t3 values(1.666666666666666666666666666,1.666666666666666666666666666,1.666666666666666666666666666) '''float(5,2) 5=>代表总长度(整数+小数) 2>小数长度,保留2位''' create table t6(f1 float(5,2)); insert into t4 values(12.23456); insert into t5 values(1234.34567); #字符串 char(字符长度) varchar(字符串) text char(11) 定长:固定开辟11个字符长度的空间(手机号,身份证号),开辟空间的速度上说:char更快 varchar(11) 变长:最多创建字符长度为11的空间(小广告,评论)开辟空间的速度上说:相较于char稍慢 text 文本类型,针对文章,小说 create table t7(c char(11),v varchar(11),t text); insert into t7 values("11111","圣战套祖玛套大保健你你","倚天屠龙宝刀,掉率0.00001"); select concat(c,':',v,":",t) from t7; #mysql select user() #查看当前用户 #concat 拼接 select concat(参数1,参数2,参数3....) 把所有的参数拼接在一起 #枚举 和 集合 enum 枚举:从列出来的数据当中选一个(性别) set 集合:从列出来的数据选多个(自动去重) create table t2( id int, name char(10), money float(6,2), sex enum("man","woman"), hobby set("play","smoke","drink","game") ) #正常写法 insert into t2(id,name,money,sex,hobby) values(1,"小白",9.777,"woman","smoke,game"); #自动去重 insert into t2(id,name,money,sex,hobby) values(1,"小白",9.777,"woman","smoke,somke,smoke");