第13章: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.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. s**epoint和rollback to s**epoint语法
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语法。
database语法。
alter [db_name]
alter_specification [,alter_specification] .
alter_specification:
[default] character set charset_name
| [default] collate collation_name
alter database用于更改数据库的全局特性。这些特性储存在数据库目录中的文件中。要使用alter database,您需要获得数据库alter权限。
character set子句用于更改默认的数据库字符集。collate子句用于更改默认的数据库整序。在第10章:字符集支持中对字符集和整序名称进行了讨论。
数据库名称可以忽略,此时,语句对应于默认数据库。也可以使用alter schema。
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
| 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
alter table用于更改原有表的结构。例如,您可以增加或删减列,创建或取消索引,更改原有列的类型,或重新命名列或表。您还可以更改表的评注和表的类型。
允许进行的变更中,许多子句的语法与create table中的子句的语法相近。其中包括table_options修改,选项有engine, auto_increment和**g_row_length等。请见13.
1.5节,“create table语法”。
存储引擎不支持有些操作,如果进行这些操作,会出现警告。使用show warnings可以显示出这些警告。请参见13.
5.4.22节,“show warnings语法”。
如果您使用alter table更改列规约,但是describe tbl_name提示您列规约并没有改变,则可能是因为mysql忽略了您所做的更改。忽略更改的原因见13.1.
5.1节,“沉寂的列规格变更”。例如,如果您试图把varchar列更改为char列,此时,如果表包含其它长度可变的列,则mysql仍会使用varchar。
alter table运行时会对原表进行临时复制,在副本上进行更改,然后删除原表,再对新表进行重命名。在执行alter table时,其它用户可以阅读原表,但是对表的更新和修改的操作将被延迟,直到新表生成为止。新表生成后,这些更新和修改信息会自动转移到新表上。
注意,如果您在执行alter table时使用除了rename以外的选项,则mysql会创建一个临时表。即使数据并不需要进行复制(例如当您更改列的名称时),mysql也会这么操作。对于myisam表,您可以通过把myisam_sort_buffer_size系统变量设置到一个较高的值,来加快重新创建索引(该操作是变更过程中速度最慢的一部分)的速度。
要使用alter table,您需要获得表的alter, insert和create权限。
ignore是mysql相对于标准sql的扩展。如果在新表中有重复关键字,或者当strict模式启动后出现警告,则使用ignore控制alter table的运行。如果没有指定ignore,当重复关键字错误发生时,复制操作被放弃,返回前一步骤。
如果指定了ignore,则对于有重复关键字的行,只使用第一行,其它有冲突的行被删除。并且,对错误值进行修正,使之尽量接近正确值。
SQL语法大全
作者 佚名文章 本站原创点击数 19398 更新时间 2007 1 25 1.asp与access数据库连接 language vbscript dim conn,mdbfile mdbfile 数据库名称。mdb set conn driver uid admin pwd 数据库密码 dbq md...
SQL语法大全
目录。1.asp与access数据库连接 2 2.asp与sql数据库连接 2 3.sql常用命令使用方法 2 1 数据记录筛选 2 2 更新数据记录 3 3 删除数据记录 3 4 添加数据记录 3 5 数据记录统计函数 3 5 数据表的建立和删除 3 4.记录集对象的方法 4 recordset对...
sql语法
知识要点 1 transact sql运算符 1 算术运算符。注 null与任何值运算结果为null。运算可用于datetime型数据。2 字符串运算符。3 比较运算符。逻辑常量 ture false。4 逻辑运算符。not 非 and 与 or 或 between 指定范围 like 模糊匹配 5...