MySQL常用功能语句分类总结
C(创建型功能)
- 创建数据库:CREATE DATABASE
- 创建用户:CREATE USER 用户名@主机 IDENTIFIED BY 密码; -- 如果想让该用户可以从任意远程主机登陆,可以使用通配符%
- 授权:GRANT ALL PRIVILEGES|权限列表 ON 库名.*|库名.表名 TO 用户名 IDENTIFIED BY 密码 WITH GRANT OPTION
- 创建表:CREATE TABLE(字段名 数据类型 约束)引擎类型 字符集
- 创建索引:
- CREATE [UNIQUE|FULLTEXT|SPATIAL] INDEX [USING 索引类型] 索引名 ON 表名 (列名1[, 列名2 …]);
- 普通索引:ALTER TABLE 表名 ADD INDEX 索引名 (列名1[, 列名2 …]
- 主键索引:ALTER TABLE 表名 ADD PRIMARY KEY(列名)
- 唯一索引:ALTER TABLE 表名 ADD UNIQUE 索引名(列名)
- 插入数据:INSERT INTO TABLE 表名(列名1[, 列名2 …]) VALUES(值1[, 值2 …])
如果想让用户可以对其他用户授权,需加上WITH GRANT OPTION
R(查询型功能)
- DBMS信息:
- 全局变量:SHOW GLOBAL VARIABLES LIKE 'port';
- 数据库列表:SHOW DATABASES;
- 查看所有用户:SELECT DISTINCT user, host FROM mysql.user;
- 查看所有会话:SHOW PROCESSLIST;
- 获取当前会话ID: SELECT CONNECTION_ID();
- 数据表信息
- 查看表:SHOW TABLES; DESC 表名
- 查看表索引:SHOW INDEX FROM|IN 表名;
- 查看用户的权限:SHOW GRANTS FOR 用户名@主机;
U(更新型功能)
- 重命名表:ALTER TABLE 原表名 RENAME [TO] 新表名
- 设置与更改用户密码:
- 为其它用户设置:SET PASSWORD FOR 用户名@主机 = PASSWORD(密码);
- 为当前登陆用户设置:SET PASSWORD = PASSWORD(密码);
- 添加列:
- 新列在表最后面:ALTER TABLE 表名 ADD 列名 类型 约束
- 新列在某列后面:ALTER TABLE 表名 ADD 列名 类型 约束 AFTER 某列
- 新列加在最前面:ALTER TABLE 表名 ADD 列名 类型 约束 FIRST
- 修改列:
- 修改列类型:ALTER TABLE 表名 MODIFY 列名 新类型 新约束
- 修改列名和列类型:ALTER TABLE 表名 CHANGE 旧列名 新列名 新类型 新约束 -- 也可用于重命名列
- 修改列顺序:ALTER TABLE 表名 CHANGE 列名 列名 类型 约束 AFTER 某列
- 重建索引:REPAIR TABLE 表名 QUICK;
- 更新数据:UPDATE TABLE 表名 SET 列名1=值1[, 列名2=值2 …] WHERE 条件
D(删除型功能)
- 删除数据库:DROP DATABASE [IF EXISTS] 库名
- 删除表:DROP TABLE [IF EXISTS] 表名 -- 对于不存在的表,使用IF EXISTS防止错误发生
- 删除列:ALTER TABLE 表名 DROP 列名
- 删除索引:DROP INDEX可以在ALTER TABLE内部作为一条语句处理
- DROP INDEX 索引名 ON 表名(列名1[, 列名2 …]);
- ALTER TABLE 表名 DROP INDEX|UNIQUE|PRIMARY KEY 索引名(列名1[, 列名2 …]);
- 删除用户:DROP USER 用户名@主机;
- 撤销用户权限:
REVOKE privilege ON 库名.表名 FROM 用户名@主机;
注意:[REVOKE SELECT ON *.* FROM ‘pig’@’%’]不能撤销[GRANT SELECT ON test.user TO ‘pig’@’%’]对用户pig的SELECT授权;[REVOKE SELECT ON test.user FROM ‘pig’@’%’]不能撤销[GRANT SELECT ON *.* TO ‘pig’@’%’]对用户pig的SELECT授权
备注:
- 对列名编制前缀索引:
对于CHAR和VARCHAR类型的列,只用列的一部分就可创建索引。创建索引时,使用“列名(length)”语法对前缀编制索引,意为前缀包括每列值的前length个字符,例如:
CREATE INDEX customer_index ON customer (name(10));
对列名编制前缀索引的好处是减小索引文件的大小,有可能提高INSERT操作的速度。
BLOB和TEXT列也可以编制索引,但是必须给出前缀长度。
前缀最长为255字节。对于MyISAM和InnoDB表,前缀最长为1000字节。注意前缀的限长以字节计,而CREATE INDEX语句中的前缀长度指的是字符的数目。对于使用多字节字符集的列,在指定列的前缀长度时,要考虑这一点。
在MySQL中,只有使用MyISAM, InnoDB或BDB表类型时,才可以向有NULL值的列及BLOB或TEXT类型的列建立索引。
一个索引列可以以ASC或DESC为结尾。这些关键词将来可以扩展,用于指定递增或递减索引值存储。目前,这些关键词被分析,但是被忽略;索引值均以递增顺序存储,例如:
CREATE INDEX customer_index ON customer (name(10) DESC);
- 索引类型:
|
存储引擎 |
允许的索引类型 |
|
MyISAM |
BTREE |
|
InnoDB |
BTREE |
|
MEMORY/HEAP |
HASH, BTREE |
FULLTEXT索引只能对CHAR, VARCHAR和TEXT列编制索引,并且只能在MyISAM表中编制。
SPATIAL索引只能对空间列编制索引,并且只能在MyISAM表中编制。
- 关于索引创建
向表的列添加唯一约束和主键约束时也会为这些列默认创建索引。
MySQL常用功能语句分类总结的更多相关文章
- MySQL常用经典语句
http://www.cnblogs.com/see7di/archive/2010/04/27/2239909.html MySQL常用经典语句 .重命名表ALTER TABLE tbl1 RENA ...
- mysql 常用 sql 语句 - 快速查询
Mysql 常用 sql 语句 - 快速查询 1.mysql 基础 1.1 mysql 交互 1.1.1 mysql 连接 mysql.exe -hPup ...
- php面试专题---MySQL常用SQL语句优化
php面试专题---MySQL常用SQL语句优化 一.总结 一句话总结: 原理,万变不离其宗:其实SQL语句优化的过程中,无非就是对mysql的执行计划理解,以及B+树索引的理解,其实只要我们理解执行 ...
- Mysql常用sql语句(九)- like 模糊查询
测试必备的Mysql常用sql语句,每天敲一篇,每次敲三遍,每月一循环,全都可记住!! https://www.cnblogs.com/poloyy/category/1683347.html 前言 ...
- Mysql常用sql语句(19)- in / exists 子查询
测试必备的Mysql常用sql语句系列 https://www.cnblogs.com/poloyy/category/1683347.html 前言 子查询在我们查询方法中是比较常用的,通过子查询可 ...
- Mysql 常用 SQL 语句集锦
Mysql 常用 SQL 语句集锦 基础篇 //查询时间,友好提示 $sql = "select date_format(create_time, '%Y-%m-%d') as day fr ...
- mysql常用操作语句
mysql常用操作语句 1.mysql -u root -p 2.mysql -h localhost -u root -p database_name 2.列出数据库: 1.show datab ...
- Mysql 常用 SQL 语句集锦 转载(https://gold.xitu.io/post/584e7b298d6d81005456eb53)
Mysql 常用 SQL 语句集锦 基础篇 //查询时间,友好提示 $sql = "select date_format(create_time, '%Y-%m-%d') as day fr ...
- 23个MySQL常用查询语句
23个MySQL常用查询语句 一查询数值型数据: SELECT * FROM tb_name WHERE sum > 100; 查询谓词:>,=,<,<>,!=,!> ...
随机推荐
- express + mongodb 搭建一个简易网站(一)
express + mongodb 搭建一个简易网站(一) 前言:后台使用node.js的express框架,数据库使用mongodb,模板使用ejs.大概就这些. 开始第一个简易网站之旅吧.... ...
- Fragment 实现拍照,相册选图,设置头像功能
设置不成功,http://bbs.csdn.net/topics/391112964 采纳问题回答:这个是fragment没有收到这个回调,原因不多说了,,,你用你对应的ragment.startAc ...
- cloudrea manager 调整datanode数据存储目录
由于datanode所需磁盘空间较大,所以工作中可能会涉及到给datanode增加磁盘目录或者更改数据目录 CM停止该datanode节点 CM页面增加目录或者修改目录 如果是修改目录的话 需要将服务 ...
- python使用外部PY文件的变量
在用python和selenium编写登录等脚本时,一直都是给用户名和密码直接赋值.但是考虑到这样不便于管理,而且可能多个地方用到同一个变量,所以想把变量放在一个单独的文件中进行管理. 以登录脚本为例 ...
- AIDL--------应用之间的通信接口
在下面例子中04Service中添加aidl包包里定义好接口 接口文件名后缀为.aidl package com.example.aidl; interface IRemoteService{ voi ...
- SVN的标准目录结构:trunk、branches、tags
原文链接:http://techlife.blog.51cto.com/212583/223704/ 我们在一些著名开源项目的版本库中,通常可以看到trunk, branches, tags等三个目录 ...
- win10系统打开自带的画图软件的步骤
1.win+R打开输入系统命令的输入框 2.输入mspaint即可打开电脑自带的画图软件.
- css样式: 宽高按一定比例进行自适应
纯 CSS 实现高度与宽度成比例的效果 最近在做一个产品列表页面,布局如右图所示.页面中有若干个 item,其中每个 item 都向左浮动,并包含在自适应浏览器窗口宽度的父元素中. item 元素的 ...
- phython学习
Python 中文学习大本营 关于作者 赞助本站 The Python Tutorial (Python 2.7.X) 的中文翻译版本.Python Tutorial 为初学 Python 必备官方教 ...
- Geodetic集合
图G是一个无向连通图,没有自环,并且两点之间至多只有一条边.我们定义顶点v,u最短路径就是从v到u经过边最少的路径.所有包含在v-u的最短路径上的顶点被称为v-u的Geodetic顶点,这些顶点的集合 ...