MySQL从青铜到王者第二篇:数据库的用户管理操作和数据库表的操作与数据类型
Posted 森明帮大于黑虎帮
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL从青铜到王者第二篇:数据库的用户管理操作和数据库表的操作与数据类型相关的知识,希望对你有一定的参考价值。
系列文章目录
前言
一、数据库操作之备份、还原
备份:
mysqldump -P3306 -u root -p 密码 -B 数据库名 > 数据库备份存储的文件路径
eg:(退出连接)mysqldump -P3306 -u root -B mytest > ./mytest.sql
恢复:
source 路径;
eg:source mytest.sql;
二、用户管理
1.用户信息
MySQL中的用户,都存储在系统数据库mysql的user表中。
- 字段解释:
- host:表示这个用户可以从哪个主机登陆,如果是localhost,表示只能从本机登陆。
- user:用户名。
- authentication_string:用户密码通过password函数加密后的。
- *_priv:用户拥有的权限。
2.创建用户
create user ‘用户名’@‘登陆主机/ip’ identified by ‘密码’;
3.删除用户(慎用)
drop user ‘用户名’@‘主机名’
4.修改用户密码
自己改自己密码:
set password=password(‘新的密码’);
root用户修改指定用户的密码:
set password for ‘用户名’@‘主机名’=password(‘新的密码’);
set password for ‘litao’@‘localhost’=password(‘abcdefg’);
5.给用户授权
刚创建的用户没有任何权限。需要给用户授权。
grant 权限列表 on 库.对象名 to ‘用户名’@‘登陆位置’ [identified by ‘密码’]
- 说明:
- 权限列表,多个权限用逗号分开。
- . : 代表本系统中的所有数据库的所有对象(表,视图,存储过程等)。
- 库.* : 表示某个数据库中的所有数据对象(表,视图,存储过程等)。
- identified by可选。 如果用户存在,赋予权限的同时修改密码,如果该用户不存在,就是创建用户。
6.回收权限
revoke 权限列表 on 库.对象名 from ‘用户名’@‘登陆位置’;
三、navicat连接数据库
四、数据库表结构操作增、删、查、改
在项目实际开发中,经常修改某个表的结构,比如字段名字,字段大小,字段类型,表的字符集类型,表的存储引擎等等。我们还有需求,添加字段,删除字段等等。这时我们就需要修改表。
1.增加表字段
ALTER TABLE tablename ADD (column datatype [DEFAULT expr][,column datatype]…);
alter table user1 add age int before id;
2.删除表字段
注意:删除字段一定要小心,删除字段及其对应的列数据都没了。
alter table user1 drop info;
3.修改表名字
alter table user1 rename to user2;
4.修改表字段属性(type)
alter table user1 modify age char(10);
5.修改表中的字段名称(Field)
alter table user1 change age info char(20);
6.删除表(慎用)
drop table t1;
五、数据类型
1.数据类型分类
2.数值类型
1.tinyint类型
2.bit类型
bit[(M)] : 位字段类型。M表示每个值的位数,范围从1到64。如果M被忽略,默认为1。
3.bool类型
4.smallint类型
5.int类型
6.bigint类型
3.小数类型
1.float类型
float[(m, d)] [unsigned] : M指定显示长度,d指定小数位数,占用空间4个字节
2.decimal类型
3.double类型
4.字符串类型
1.char类型
char(L): 固定长度字符串,L是可以存储的长度,单位为字符,最大长度值可以为255
char(2) 表示可以存放两个字符,可以是字母或汉字,但是不能超过2个, 最多只能是255
2.vchar类型
varchar(L): 可变长度字符串,L表示字符长度,最大长度65535个字节。
- 关于varchar(len),len到底是多大,这个len值,和表的编码密切相关:
- varchar长度可以指定为0到65535之间的值,但是有1 - 3 个字节用于记录数据大小,所以说有效字节数是65532。
- 当我们的表的编码是utf8时,varchar(n)的参数n最大值是65532/3=21844[因为utf中,一个字符占用3个字节],如果编码是gbk,varchar(n)的参数n最大是65532/2=32766(因为gbk中,一个字符占用2字节)。
3.char与vchar的比较
5.日期时间类型
- 常用的日期有如下三个:
- datetime 时间日期格式 ‘yyyy-mm-dd HH:ii:ss’ 表示范围从1000到9999,占用八字节。
- date:日期 ‘yyyy-mm-dd’,占用三字节。
- timestamp:时间戳,从1970年1月1日0时0分0秒开始的 yyyy-mm-dd HH:ii:ss格式和datetime完全一致,占用四字节。
6.enum类型
- 常用的日期有如下三个:
- enum:枚举,“单选”类型;。
- enum(‘选项1’,‘选项2’,‘选项3’,…);。
该设定只是提供了若干个选项的值,最终一个单元格中,实际只存储了其中一个值;而且出于效率考虑,这些值实际存储的是“数字”,因为这些选项的每个选项值依次对应如下数字:1,2,3,…最多65535个;当我们添加枚举值时,也可以添加对应的数字编号。
7.set类型
- 语法:
- set:集合,“多选”类型;;。
- enum(‘选项1’,‘选项2’,‘选项3’,…);。
该设定只是提供了若干个选项的值,最终一个单元格中,设计可存储了其中任意多个值;而且出于效率考虑,这些值实际存储的是“数字”,因为这些选项的每个选项值依次对应如下数字:1,2,4,8,16,32,… 最多64个。
总结
以上就是今天要讲的内容,本文详细介绍了数据库表的增、删、查、改的使用和后续数据库表、数据类型,数据库提供了大量的方法供我们使用,非常的便捷,我们务必掌握。希望大家多多支持!另外如果上述有任何问题,请懂哥指教,不过没关系,主要是自己能坚持,更希望有一起学习的同学可以帮我指正,但是如果可以请温柔一点跟我讲,爱与和平是永远的主题,爱各位了。加油啊!
以上是关于MySQL从青铜到王者第二篇:数据库的用户管理操作和数据库表的操作与数据类型的主要内容,如果未能解决你的问题,请参考以下文章