MySQL库表操作
1.建库建表
2.表字段更改
1.建库建表
先判断数据库是否已存在,如果没有则新建数据库
sql模板:
CREATE DATABASE IF NOT EXISTS 库名 DEFAULT CHARSET 编码 COLLATE 排序规则;
先判断表是否已存在,如果没有则新建表
sql模板:
CREATE TABLE IF NOT EXISTS 表名(列参数列表);
2.表字段更改
1)修改字段属性
sql模板:
ALTER TABLE tb_name MODIFY 字段名称 字段类型 [完整性约束条件]
eg:
将email字段 VARCHAR(50)修改成VARCHAR(200)
ALTER TABLE user10 MODIFY email VARCHAR(200) NOT NULL DEFAULT 'a@a.com';
注意,修改时如果不带完整性约束条件,原有的约束条件将丢失,如果想保留修改时就得带上完整性约束条件
2)修改字段顺序
-- 将card移到test后面
ALTER TABLE user10 MODIFY card CHAR(10) AFTER test;
-- 将test放到第一个,保留原完整性约束条件
ALTER TABLE user10 MODIFY test CHAR(32) NOT NULL DEFAULT '123' FIRST;
3)修改字段名
sql模板:
ALTER TABLE 表名 CHANGE 原字段名 新字段名 字段类型 约束条件
eg:
将test字段改为test1
ALTER TABLE user10 CHANGE test test1 CHAR(32) NOT NULL DEFAULT '123';
4)删除默认值
eg:
ALTER TABLE user11 ALTER age DROP DEFAULT;
ALTER TABLE user11 ALTER email DROP DEFAULT;
5)主键操作
添加主键
sql模板:
ALTER TABLE tb_name ADD [CONSTRAINT [sysmbol]] PRIMARY KEY [index_type] (字段名称,...)
eg:
ALTER TABLE test12 ADD PRIMARY KEY(id);
添加复合主键
eg:
ALTER TABLE test13 ADD PRIMARY KEY(id,card);
删除主键
ALTER TABLE test12 DROP PRIMARY KEY;
在删除主键时,有一种情况是需要注意的,我们知道具有自增长的属性的字段必须是主键,如果表里的主键是具有自增长属性的;那么直接删除是会报错的。如果想要删除主键的话,可以先去年自增长属性,再删除主键
eg:
先用MODIFY删除自增长属性,注意MODIFY不能去掉主键属性
ALTER TABLE test14 MODIFY id INT UNSIGNED;
再来删除主键
ALTER TABLE test14 DROP PRIMARY KEY;
修改自增长的初始值
sql模板:
ALTER TABLE tb_name AUTO_INCREMENT=值
eg:让user12主键从100开始自增长,注意,值必须大于最大值,否则无效
ALTER TABLE user12 AUTO_INCREMENT=100;