MySQL常用的 表字段 SQL语句写法总结

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亲笔。

猜你喜欢

转载自blog.csdn.net/BestEternity/article/details/88690860