王振2020-6-16笔记

# ### MySQL
cls 清屏  或者 Linux里面 Crtl + l
Crtl + 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"

# 查看权限
show grants for "ceshi12"@"%"; 
grant 权限 on 数据库.表名 to "用户名"%"ip地址" identified by "密码";

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

"""
# 主要权限
select  查询数据库的权限
insert  插入数据库的权限
update  更新数据库的权限
delete  删除数据库的权限
* 代表所有
"""
<----------------------------------------------------------------------->
# ### part4 [*****必须熟练] 数据库重点

# (1) 操作[数据库] (文件夹)# 创建数据库
	create database db0616 charset utf8;# 查看所有数据库
	show databases;
	# 查看数据库的建表语句
	show create database db0616 ;
	CREATE DATABASE `db0616_2` /*!40100 DEFAULT CHARACTER SET utf8 */# alter 更改数据库的字符集
	alter database 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 t1\G #( 加上\G 垂直显示 ,默认横向显示)
	# 查看表结构
	desc t1;# modify 只能改变数据类型
	alter table t1 modify name char(5);
	# change 练字段名+数据类型一起改变
	alter table t1 change name NAME char(4);
	alter table t1 change name name_new char(4);
	# add  添加字段
	alter table t1 add age int;
	# drop 删除字段 column列(字段,关键字)
	alter table t1 drop column age;
	# rename 更改表名
	alter table t1 rename t1_1;# 删除表t1_1
	drop table t1_1;

# (3) 操作记录(文件里面的数据)
""" mysql null 相当于 python None 是一样的 代表空的 什么也没有"""# 一次插入一条数据
	'''insert into 表名(字段1,字段2 ...) values(值1,值2 ... )'''
	insert into t1(id,name) values(1,"xboy1")
	# 一次插入多条数据
	insert into t1(id,name) values(2,"xboy2"),(3,"xboy3"),(4,"xboy4")
	# 不指定具体字段,默认把所有字段值查一遍
	insert into t1 values(5,"xboy5");
	# 可以具体指定某个字段进行插入
	insert into t1(name) values("xboy6")# * 代表所有
	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.34567);
	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 t8(
	id int , 
	name char(10), 
	money float(6,2) , 
	sex enum("man","woman"),
	hobby set("beat_doudou","smoke","drink","tang_head")	
	)
	# 正常写法
	insert into t8(id,name,money,sex,hobby) values(1,"张三",9.66666,"woman","smoke,tang_head");
	# 自动去重
	insert into t8(id,name,money,sex,hobby) values(1,"张三",9.66666,"woman","beat_doudou,beat_doudou,beat_doudou,beat_doudou");
	



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值