文章目录
- 数据表高级操作
- 1.克隆表
- 2.清空表,删除表内的所有数据
- 方法一(delete)
- 方法二(truncate)
- delete与truncate区别
- 3.创建临时表
- 4.创建外键约束
- MySQL中常见的约束
- 外键的定义和作用
- 主键表和外键表的联系
- 实例
- 数据库用户管理
- 1.新建用户
- 2.查看用户信息
- 3.重命名用户
- 4.删除用户
- 5.修改当前登录用户密码
- 6.修改其他用户密码
- 7.忘记root密码解决办法
- 方法一
- 方法二
- 数据库用户授权
- 1.授予权限
- 2.查看权限
- 3.撤销权限
- 本章总结
- MySQL高级操作
- 数据库用户管理
- 数据库用户授权
数据表高级操作
1.克隆表
将数据表的数据记录生成到新的表中
首先先创建一个表test1
方法一:
方法二:
2.清空表,删除表内的所有数据
方法一(delete)
方法二(truncate)
delete与truncate区别
- delete清空表后,返回的结果内有删除的记录条目;delete工作时是一行一行的删除记录数据的;如果表中有自增长字段,使用delete from 删除所有记录后,再次新添加的记录会从原来最大的记录 ID 后面继续自增写入记录。
- truncate清空表后,没有返回被删除的条目;truncate 工作时是将表结构按原样重新建立,因此在速度上truncate会比delete清空表快;使用truncate table清空表内数据后,ID 会从 1 开始重新记录。
- 删除速度对比:drop > truncate > delete
3.创建临时表
临时表,顾名思义只是临时创建的表,临时表创建成功后,使用show tables命令是看不见的,而且在连接退出时临时表会被销毁。在退出销毁前,也可以进行增删改查等操作
4.创建外键约束
MySQL中常见的约束
- 主键约束(primary key)
- 外键约束(foreign key)
- 非空约束(not null)
- 唯一性约束(unique [key|index])
- 默认值约束(default)
- 自增约束(auto_increment)
外键的定义和作用
1、定义
如果同一个属性字段y在表一中是主键,而在表二中不是主键,则字段y称为表二的外键
2、作用
防止误删、误修改,保证数据的完整性和一致性
主键表和外键表的联系
- 以公共关键字作为主键的表为主键表,也被称为主表或者父表
- 以公共关键字作为外键的表为外键表,也被称为从表或者外表
- 注:与外键关联的主表的字段必须设置为主键,并且要求从表不能是临时表,主表外键字段和从表的字段具备相同的数据类型、字符长度和约束
实例
数据库用户管理
1.新建用户
CREATE USER '用户名'@'来源地址' [IDENTIFIED BY [PASSWORD] '密码'];
用户名:指定将创建的用户名
来源地址:指定新创建的用户可在哪些主机上登录,可使用IP地址、网段、主机名的形式,本地用户可用localhost,允许任意主机登录可用通配符%
密码:若使用明文密码,直接输入’密码’,插入到数据库时由Mysql自动加密;若使用加密密码,需要先使用SELECT PASSWORD(‘密码’); 获取密文,再在语句中添加 PASSWORD ‘密文’;若省略“IDENTIFIED BY”部分,则用户的密码将为空(不建议使用)
2.查看用户信息
3.重命名用户
4.删除用户
5.修改当前登录用户密码
6.修改其他用户密码
7.忘记root密码解决办法
方法一
修改 /etc/my.cnf 配置文件,不使用密码直接登录到 mysql
方法二
使用 update 修改 root 密码,刷新数据库
flush privileges:刷新权限相关的表
数据库用户授权
1.授予权限
2.查看权限
3.撤销权限
USAGE权限只能用于数据库登陆,不能执行任何操作;USAGE权限不能被回收,即 REVOKE 不能删除用户。
本章总结
MySQL高级操作
- 克隆表有两种方法:一种是先克隆表结构,再克隆里面的数据;另一种是直接一起克隆。
- 清空表里的所有数据也有两种方法:一种是用delete,delete工作时是一行一行的删除记录数据,再次写入新的数据时会从原来最大的自增长字段ID后面继续自增长;另一种是truncate,工作时是直接摧毁所有数据并且按原样的表结构重新建立,再次写入新的数据时自增长字段ID会从1重新开始。
- 创建临时表时要注意,临时表只是临时存在的,可以对其进行增删改查,但是在退出连接时会自动销毁,再次连接时临时表就不存在了。
- 创建主键和外键约束时,先主键后外键;在给两种表导入数据时,先主表后从表;删除数据时,先从表后主表;删除外键约束字段时,先删除外键约束再删除外键名
数据库用户管理
- 数据库用户管理也拥有增删改查功能,具体操作命令见上面的内容。
- 忘记root密码的解决方案有两个:一个是修改 /etc/my.cnf 配置文件,不需要输入密码直接可以登录到mysql数据库;另一个是在数据库中使用update命令修改root密码,就不需要以前的密码了,直接修改掉,并且刷新数据库。
数据库用户授权
使用grant命令给普通用户提升权限,使这些普通用户也可以拥有一些权限;也可以使用revoke命令撤销这些权限