MySQL常用的删除表、建表、设置/修改编码、增加列/字段、删除列/字段、修改列/字段、添加索引 SQL语句写法,在mysql中我们对数据 表字段 的修改命令只要使用alter。具体如下:
1.删除表(如果存在):
DROP TABLE IF EXISTS test;
2.建表:
CREATE TABLE test(
id INT NOT NULL PRIMARY KEY AUTO_INCREMENT, # 不为空主键自动增长
uid INT(11) NOT NULL DEFAULT 0, # 创建者id
context VARCHAR(600) NOT NULL DEFAULT '', # 公告详细内容(300字)
begintime DEC(20) NOT NULL DEFAULT 0, # 公告开始时间
endtime DEC(20) NOT NULL DEFAULT 0, # 公告结束时间
createtime DEC(20) NOT NULL DEFAULT 0, # 创建时间
modifytime DEC(20) NOT NULL DEFAULT 0 # 修改时间
PRIMARY KEY (`Id`),#设置主键
)DEFAULT CHARSET=UTF8 TYPE=INNODB;#建表设置编码
3.创建数据库时设置编码:
CREATE DATABASE test CHARACTER SET utf8;
4.创建表时设置编码:
CREATE TABLE test(id INT PRIMARY KEY)DEFAULT CHARSET=utf8;
5.修改数据库编码:
ALTER DATABASE test CHARACTER SET utf8;
6.修改表默认编码:
ALTER TABLE test CHARACTER SET utf8;
7.修改字段编码:
ALTER TABLE test MODIFY col_name VARCHAR(32) CHARACTER SET utf8;
8.修改表名称:
ALTER TABLE test_old RENAME test;
9.增加列/增加一个字段:
-- 增加列/增加一个字段,默认为空
ALTER TABLE test ADD COLUMN new1 VARCHAR(32) DEFAULT NULL;
-- 增加列/增加一个字段,默认不能为空
ALTER TABLE test ADD COLUMN new2 VARCHAR(32) NOT NULL;
ALTER TABLE test ADD new3 TIMESTAMP;
ALTER TABLE test ADD new4 TINYINT NOT NULL DEFAULT ‘0′;
10.添加主键:
-- 在test表中添加列id,类型为整型,不为空,自动增长,添加主键
ALTER TABLE test ADD id INT(32) NOT NULL AUTO_INCREMENT ,ADD PRIMARY KEY (id);
11.删除一个字段:
ALTER TABLE test DROP COLUMN new5;
12.修改字段名称、类型及长度:
-- 重命名列/修改一个字段的名称
ALTER TABLE test CHANGE oldName newNmae VARCHAR(32);
ALTER TABLE test CHANGE oldName newNmae BIGINT NOT NULL;
-- 修改列的类型/修改一个字段的类型
ALTER TABLE test MODIFY new6 INT(32);
ALTER TABLE test CHANGE new6 new6 INT(32) NOT NULL DEFAULT 0;
-- 修改字段长度
ALTER TABLE test MODIFY COLUMN new6 INT(64);
13.添加索引方法:
1).添加PRIMARY KEY(主键索引)
ALTER TABLE `test` ADD PRIMARY KEY ( `column` );
2).添加UNIQUE(唯一索引)
ALTER TABLE `test` ADD UNIQUE (
`column`
);
3).添加INDEX(普通索引)
ALTER TABLE `test` ADD INDEX index_name ( `column` );
4).添加FULLTEXT(全文索引)
ALTER TABLE `test` ADD FULLTEXT (
`column`
);
5).添加多列索引
ALTER TABLE `test` ADD INDEX index_name ( `column1`, `column2`, `column3` );
6).删除某个索引
ALTER TABLE test DROP INDEX emp_name;
转载请注明出处:BestEternity亲笔。