没有合适的资源?快使用搜索试试~ 我知道了~
mysql语法大全精讲(中文版)
4星 · 超过85%的资源 需积分: 12 22 下载量 141 浏览量
2010-08-02
15:17:57
上传
评论
收藏 1.05MB DOC 举报
温馨提示
试读
64页
mysql语法大全精讲(中文版) 这是MySQL参考手册的翻译版本,关于MySQL参考手册,请访问dev.mysql.com。 原始参考手册为英文版,与英文版参考手册相比,本翻译版可能不是最新的
资源推荐
资源详情
资源评论
第 章: 语句语法
目录
13.1. 数据定义语句
13.1.1. ALTER DATABASE
语法
13.1.2. ALTER TABLE
语法
13.1.3. CREATE DATABASE
语法
13.1.4. CREATE INDEX
语法
13.1.5. CREATE TABLE
语法
13.1.6. DROP DATABASE
语法
13.1.7. DROP INDEX
语法
13.1.8. DROP TABLE
语法
13.1.9. RENAME TABLE
语法
13.2. 数据操作语句
13.2.1. DELETE
语法
13.2.2. DO
语法
13.2.3. HANDLER
语法
13.2.4. INSERT
语法
13.2.5. LOAD DATA INFILE
语法
13.2.6. REPLACE
语法
13.2.7. SELECT
语法
13.2.8. Subquery
语法
13.2.9. TRUNCATE
语法
13.2.10. UPDATE
语法
13.3. MySQL
实用工具语句
13.3.1. DESCRIBE
语法(获取有关列的信息)
13.3.2. USE
语法
13.4. MySQL
事务处理和锁定语句
13.4.1. START TRANSACTION, COMMIT
和
ROLLBACK
语法
13.4.2. 不能回滚的语句
13.4.3. 会造成隐式提交的语句
13.4.4. SAVEPOINT
和
ROLLBACK TO SAVEPOINT
语法
13.4.5. LOCK TABLES
和
UNLOCK TABLES
语法
13.4.6. SET TRANSACTION
语法
13.4.7. XA
事务
13.5. 数据库管理语句
13.5.1. 账户管理语句
13.5.2. 表维护语句
13.5.3. SET
语法
13.5.4. SHOW
语法
13.5.5. 其它管理语句
13.6. 复制语句
13.6.1. 用于控制主服务器的
SQL
语句
13.6.2. 用于控制从服务器的
SQL
语句
13.7. 用于预处理语句的
SQL
语法
本章介绍了 SQL 语句的语法。
13.1.数据定义语句
13.1.1. ALTER DATABASE
语法
13.1.2. ALTER TABLE
语法
13.1.3. CREATE DATABASE
语法
13.1.4. CREATE INDEX
语法
13.1.5. CREATE TABLE
语法
13.1.6. DROP DATABASE
语法
13.1.7. DROP INDEX
语法
13.1.8. DROP TABLE
语法
13.1.9. RENAME TABLE
语法
13.1.1.ALTER DATABASE 语法
ALTER {DATABASE | SCHEMA} [db_name]
alter_specification [, alter_specification] ...
alter_specification:
[DEFAULT] CHARACTER SET charset_name
| [DEFAULT] COLLATE collation_name
用于更改数据库的全局特性。这些特性储存在数据库目录中的
文件中。要使用 ,您需要获得数据库 权限。
子句用于更改默认的数据库字符集。 子句用于更改默认的数
据库整序。在第
章 :
字符集支持
中对字符集和整序名称进行了讨论。
数据库名称可以忽略,此时,语句对应于默认数据库。也可以使用 。
13.1.2.ALTER TABLE 语法
ALTER [IGNORE] TABLE tbl_name
alter_specification [, alter_specification] ...
alter_specification:
ADD [COLUMN] column_definition [FIRST | AFTER col_name ]
| ADD [COLUMN] (column_definition,...)
| ADD INDEX [index_name] [index_type] (index_col_name,...)
| ADD [CONSTRAINT [symbol]]
PRIMARY KEY [index_type] (index_col_name,...)
| ADD [CONSTRAINT [symbol]]
UNIQUE [index_name] [index_type] (index_col_name,...)
| ADD [FULLTEXT|SPATIAL] [index_name] (index_col_name,...)
| ADD [CONSTRAINT [symbol]]
FOREIGN KEY [index_name] (index_col_name,...)
[reference_definition]
| ALTER [COLUMN] col_name {SET DEFAULT literal | DROP DEFAULT}
| CHANGE [COLUMN] old_col_name column_definition
[FIRST|AFTER col_name]
| MODIFY [COLUMN] column_definition [FIRST | AFTER col_name]
| DROP [COLUMN] col_name
| DROP PRIMARY KEY
| DROP INDEX index_name
| DROP FOREIGN KEY fk_symbol
| DISABLE KEYS
| ENABLE KEYS
| RENAME [TO] new_tbl_name
| ORDER BY col_name
| CONVERT TO CHARACTER SET charset_name [COLLATE collation_name]
| [DEFAULT] CHARACTER SET charset_name [COLLATE collation_name]
| DISCARD TABLESPACE
| IMPORT TABLESPACE
| table_options
| partition_options
| ADD PARTITION partition_definition
| DROP PARTITION partition_names
| COALESCE PARTITION number
| REORGANIZE PARTITION partition_names INTO (partition_definitions)
| ANALYZE PARTITION partition_names
| CHECK PARTITION partition_names
| OPTIMIZE PARTITION partition_names
| REBUILD PARTITION partition_names
| REPAIR PARTITION partition_names
用于更改原有表的结构。例如,您可以增加或删减列,创建或取消索引,
更改原有列的类型,或重新命名列或表。您还可以更改表的评注和表的类型。
允许进行的变更中,许多子句的语法与 中的子句的语法相近。其中包括
table_options 修改,选项有 和 等。
请见
节,“
语法” 。
存储引擎不支持有些操作,如果进行这些操作,会出现警告。使用 可
以显示出这些警告。请参见 !""
节,“
语法” 。
如果您使用 更改列规约,但是 tbl_name 提示您列规约并没有
改变,则可能是因为 # 忽略了您所做的更改。忽略更改的原因见
节,“沉寂
的列规格变更”。例如,如果您试图把 列更改为 列,此时,如果表包含
其它长度可变的列,则 # 仍会使用 。
运行时会对原表进行临时复制,在副本上进行更改,然后删除原表,再对
新表进行重命名。在执行 时,其它用户可以阅读原表,但是对表的更新和
修改的操作将被延迟,直到新表生成为止。新表生成后,这些更新和修改信息会自动转移
到新表上。
注意,如果您在执行 时使用除了 以外的选项,则 # 会创建
一个临时表。即使数据并不需要进行复制(例如当您更改列的名称时),# 也会这么
操作。对于 # 表,您可以通过把 $#%&'$&()**+(&%,+ 系统变量设置到一个较
高的值,来加快重新创建索引(该操作是变更过程中速度最慢的一部分)的速度。
-........要使用 ,您需要获得表的 和 权限。
-........ 是 # 相对于标准 的扩展。如果在新表中有重复关键字,或者当
模式启动后出现警告,则使用 控制 的运行。如果没有指
定 ,当重复关键字错误发生时,复制操作被放弃,返回前一步骤。如果指定了
,则对于有重复关键字的行,只使用第一行,其它有冲突的行被删除。并且,对
错误值进行修正,使之尽量接近正确值。
-........您可以在一个 语句里写入多个 / 和 子
句,中间用逗号分开。这是 # 相对于标准 的扩展。在标准 中,每个
语句中每个子句只允许使用一次。例如,在一个语句中取消多个列:
·%%%%%%%%%%%%%%% mysql> ALTER TABLE t2 DROP COLUMN c, DROP
COLUMN d;
-........col_name/col_name 和 /0 是 # 相对于标准
的扩展。
-........12 是 ('34+ 对 的扩展。
-........ 只是自选项目,可以忽略。
-........如果您使用 tbl_namenew_tbl_name 并且没有其它选
项,则 # 只对与 '4+tbl_name 相对应的文件进行重命名。不需要创建一个临时表。
(您也可以使用 语句对表进行重命名。请参见 5
节,“
语法” 。)
-........column_definition 子句使用与 中的 和 子句相同的
语法。注意,此语法包括列名称,而不只是列类型。请参见
节,“
语法”。
-........您可以使用 old_col_namecolumn_definition 子句对列进行重命名。重命
名时,需给定旧的和新的列名称和列当前的类型。例如:要把一个 列的名称从
' 变更到 ,您需要如下操作:
·%%%%%%%%%%%%%%% mysql> ALTER TABLE t1 CHANGE a b INTEGER;
如果您想要更改列的类型而不是名称, 语法仍然要求旧的和新的列名称,即使
旧的和新的列名称是一样的。例如:
mysql> ALTER TABLE t1 CHANGE b b BIGINT NOT NULL;
您也可以使用 12 来改变列的类型,此时不需要重命名:
mysql> ALTER TABLE t1 MODIFY b BIGINT NOT NULL;
-........如果您使用 或 2 缩短列长时,列中存在有索引,并且缩短后的列
长小于索引长度,则 # 会自动缩短索引的长度。
-........当您使用 或 12 更改列的类型时,# 会尽量把原有的列值转化
为新的类型。
-........您可以使用 1 或 1col_name 在一个表行中的某个特定位置添加列。默认
把列添加到最后。您也可以在 或 12 语句中使用 1 和 1。
-........1 用于指定列的新默认值,或删除旧的默认值。如果旧的默认值被
删除同时列值为 ,则新的默认值为 。如果列值不能为 ,# 会指定
一个默认值,请参见
节,“
语法” 。
-......../0 用于取消索引。这是 # 相对于标准 的扩展。请参见 6
节,“ /0
语法” 。
-........如果列从表中被取消了,则这些列也从相应的索引中被取消。如果组成一个索引的
所有列均被取消,则该索引也被取消。
-........如果一个表只包含一列,则此列不能被取消。如果您想要取消表,应使用 /
。
-........//22 用于取消主索引。注释:在 # 较早的版本中,如果没有
主索引,则 //272 会取消表中的第一个 索引。在 # 中
不会出现这种情况。如果在 # 中对没有主键的表使用 //272,
则会出现错误信息。
剩余63页未读,继续阅读
资源评论
- 奔波佴霸2012-09-05很好,适合新学习人员阅读
hu330459076
- 粉丝: 29
- 资源: 7
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 通道处理过程的模拟通常涉及对通道处理机制的理解与实现.txt
- Flume进阶-自定义拦截器jar包
- Dubins曲线算法讲解和在运动规划中的使用.pdf
- 上市公司-股票性质数据-工具变量(民企、国企、央企)2003-2022年.dta
- 上市公司-股票性质数据-工具变量(民企、国企、央企)2003-2022年.xlsx
- Reeds+Shepp曲线算法讲解和实现.pdf
- 毕业设计基于SpringBoot+MyBatisPlus+MySQL+Vue的外卖配送信息系统源代码+数据库
- 词向量(Word Embeddings)是自然语言处理(NLP)领域的一种重要技术.txt
- Surfer,线性函数
- MyBatis 的动态 SQL 是其核心特性之一.txt
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功