MySQL学习系列一
来源:互联网 发布:微信授权登陆api java 编辑:程序博客网 时间:2024/05/18 22:13
看了《MySQL核心技术手册》,在这里整理一下知识点。
安全、用户语句和函数
用户的访问权限可以是全局层级(服务器上的所有数据库),也可以是数据库层级、表层级和列层级。
用户的权限存储在授权表中,位于服务器的mysql数据库中:
user 全局级权限
db 数据库层级权限
tables_priv 表层级权限
column_priv 列层级权限
MmySQL相关语句:
- CREATE USER:在服务器上创建新用户账户。@后跟主机IP地址或主机名,IDENTIFIED BY后跟密码,但CREATE USER无法指定用户权限,需要再使用GRANT语句设置权限。
如:
CREATE USER 'xiaohui'@'localhost' IDENTIFIED BY '123456';
- DROP USER :删除MySQL服务器的用户账户,使用该语句,需要拥有包含用户账户信息和权限的mysql数据库的CREATE USER 和DELETE权限。
DROP USER 'xiaohui'@'localhost';
- FLUSH:可以清除并重载MySQL临时缓存。必须拥有RELOAD权限。
FLUSH PRIVILEGES; //重新载入用户权限
- GRANT:创建新增用户,并授予用户权限。
//授予所有基本权限 WITH GRANT OPTION:令用户具备GRANT权限GRANT ALL PRIVILEGES ON *.* TO 'xiaohui'@'localhost' IDENTIFIED BY '123456' WITH GRANT OPTION//授予oa数据库的所有表的select和update权限GRANT SELECT,UPDATE ON oa.* TO 'xiaohui'@'localhost' IDENTIFIED BY '123456'
- RENAME USER:修改用户名或主机
RENAME USER 'xiaohui'@'localhost' TO 'xiaohui2'@'localhost'
- SET PASSWORD:修改密码
SET PASSWORD FOR 'xiaohui2'@'localhosst' = PASSWORD('12345678')
相关函数
- CURRENT_USER():当前的用户名和主机
数据库和表模式语句
添加新列
//加到表的末尾ALTER TABLE `user` ADD COLUMN NAME VARCHAR(10)//加到表的开头ALTER TABLE `user` ADD COLUMN NAME VARCHAR(10) FIRST //加到id列后ALTER TABLE `user` ADD COLUMN NAME VARCHAR(10) AFTER id
添加索引
//基于name列前五个字符和id列的索引name_idALTER TABLE `user` ADD INDEX name_id (NAME(5),id)
添加外键
ALTER TABLE `user` ADD FOREIGN KEY user_role (role_id) REFERENCES `role` (id) ON DELETE SET NULL;
修改列名和类型
ALTER TABLE `user` CHANGE COLUMN NAME VARCHAR(10) newname VARCHAR(20);//modify不可修改列名ALTER TABLE `user` MODIFY COLUMN NAME VARCHAR(20);
删除列
ALTER TABLE `user` DROP COLUMN NAME
删除索引、主键和外键
ALTER TABLE `user` DROP INDEX name_id;//若主键自增 先去掉自增 在删除ALTER TABLE `user` CHANGE id id int ,DROP PRIMARY KEY id;ALTER TABLE `user` DROP FOREIGN KEy role_id;
修改表名
ALTER TABLE `user`RENAME TO newuser;
0 0
- MySQL学习系列一
- MySQL学习系列一
- MySQL学习系列之关于information_schema(一)
- mysql系列一
- **MYSQL** 系列一
- MySql系列(一)
- Mysql系列一:初识Mysql
- 【MySql学习系列】视图
- Mysql学习系列
- vim学习系列一
- BOL 学习 系列一
- Cache学习系列一
- MongoDB学习系列 (一)
- 数据结构学习系列(一)
- Kafka学习-系列一
- 学习数学系列<一>
- MySQL系列教程(一)
- Mysql系列(一) 简介
- JDBC链接MySQL的一个相对完美的小程序
- JS的三种输出方式
- c语言数组、sizeof()及strlen()
- apache服务Forbidden 403问题精彩总结
- iOS-Carthage 安装以及使用
- MySQL学习系列一
- Android SDK版本号与API Level 的对应关系
- String、StringBuffer和StringBuilder区别
- 取数字问题
- nutz 自定义sql语句
- 前端训练营第一天笔记
- 前端学习笔记
- VS2017配置opencv3.2在MFC单文档中显示图片
- 架构之路--volatile关键字和线程通信