mysql修改表结构alter
ALTER [IGNORE] TABLE tbl_name alter_spec [, alter_spec ...]
alter_specification:
ADD [COLUMN] create_definition [FIRST | AFTER column_name ]
or ADD INDEX [index_name] (index_col_name,...)
or ADD PRIMARY KEY (index_col_name,...)
or ADD UNIQUE [index_name] (index_col_name,...)
or ALTER [COLUMN] col_name {SET DEFAULT literal | DROP DEFAULT}
or CHANGE [COLUMN] old_col_name create_definition
or MODIFY [COLUMN] create_definition
or DROP [COLUMN] col_name
or DROP PRIMARY KEY
or DROP INDEX index_name
or RENAME [AS] new_tbl_name
or table_options
ALTER TABLE允许你修改一个现有表的结构。例如,你可以增加或删除列、创造或消去索引、改变现有列的类型、或重新命名列或表本身。你也能改变表的注释和表的类型。见7.7 CREATE TABLE句法。
如果你使用ALTER TABLE修改一个列说明但是DESCRIBE tbl_name显示你的列并没有被修改,这可能是MySQL因为在7.7.1 隐含的列说明改变中描述的原因之一而忽略了你的修改。例如,如果你试图将一个VARCHAR改为CHAR,MySQL将仍然使用VARCHAR,如果表包 含其他变长的列。
ALTER TABLE通过制作原来表的一个临时副本来工作。修改在副本上施行,然后原来的表被删除并且重新命名一个新的。这样做使得所有的修改自动地转向到新表,没 有任何失败的修改。当ALTER TABLE正在执行时,原来的桌可被其他客户读取。更新和写入表被延迟到新表准备好了为止。
为了使用ALTER TABLE,你需要在表上的select、insert、delete、update、create和drop的权限。
IGNORE是MySQL对ANSI SQL92 的一个扩充,如果在新表中的唯一键上有重复,它控制ALTER TABLE如何工作。如果IGNORE没被指定,副本被放弃并且恢复原状。如果IGNORE被指定,那么对唯一键有重复的行,只有使用第一行;其余被删除。
你可以在单个ALTER TABLE语句中发出多个ADD、ALTER、DROP和CHANGE子句。这是MySQL对ANSI SQL92的一个扩充,SQL92在每个ALTER TABLE语句中只允许
相关文档:
我使用的是apserv安装包,安装时语言我选择的是gb2312,后来在建立新的数据库时,‘整理’选择的是utf8,接下来在表中参数类型基本选择的都是utf8,接下来我就直接调用啦,嘎嘎,我写的是一个简单的留言本。最简单的读取数据库写入数据库的程序,嘎嘎!奇怪的是在数据库里面直接操作中文显示都很正常。可是一到网 ......
以前没接触过这个东东,前天一个同事让我安装下jira+confluence,但是confluence弄了好长时间也没集成成功!现在把上述三者的集成过程总结下!
安装环境:
系统:xp sp2
jdk: 1.6
tomcat: 5.5 安装版 (可以用解压版的)
MySql: 5.0.x
所需软件:
jiar: atlassian-jira-enterprise-3.9.3.zi ......
最近工作上常用到MySQL,发现MySQL的错误提示音比较烦人,上网搜索了一下,有以下三种关闭该提示音的方法:
方法1. 使用终端命令
使用MySQL的命令终端时,使用mysql --no-beep即可。
方法2. 修改MySQL配置文件my.ini
在[mysql] 下加入一行
no-beep
&nb ......
MySql 字符串函数
[ 2006-04-22 19:24:44 | Author: Ychon ]
Font Size: Large | Medium | Small
对于针对字符串位置的操作,第一个位置被标记为1。
ASCII(str)
返回字符串str的最左面字符的ASCII代码值。如果str是空字符串,返回0。如果str是NULL,返回NULL。
mysql> select ASCII('2');
-> 50
mysql ......
建立外键的前提: 本表的列必须与外键类型相同(外键必须是外表主键)。
外键作用: 使两张表形成关联,外键只能引用外表中的列的值!
指定主键关键字: foreign key(列名)
引用外键关键字: references <外键表名>(外键列名)
事件触发限制: on delete和on update , 可设参数cascade(跟随外键改动 ......