注:App端的代码块区可能会因为内容过多而显示不全,请双击代码块区查看内容!
-- 测试添加和删除字段
CREATE TABLE user1(id INT UNSIGNED AUTO_INCREMENT KEY
);-- 添加用户名字段 username VARCHAR(20)
ALTER TABLE user1
ADD username VARCHAR(20);-- 添加密码字段 password CHAR(32) NOT NULL
ALTER TABLE user1
ADD password CHAR(32) NOT NULL;-- 添加邮箱字段email VARCHAR(50) NOT NULL UNIQUE加到username之后
ALTER TABLE user1
ADD email VARCHAR(50) NOT NULL UNIQUE AFTER username;-- 添加测试字段 test TINYINT(1) NOT NULL DEFAULT 0;
ALTER TABLE user1
ADD test TINYINT(1) NOT NULL DEFAULT 0 FIRST;-- 删除测试字段test
ALTER TABLE user1
DROP test;-- 添加age、addr字段,删除email字段
ALTER TABLE user1
ADD age TINYINT(1) UNSIGNED NOT NULL DEFAULT 0,
ADD addr VARCHAR(100) NOT NULL DEFAULT '北京',
DROP email;-- 测试添加删除默认值操作
CREATE TABLE user2(id INT UNSIGNED AUTO_INCREMENT KEY,username VARCHAR(20) NOT NULL,age TINYINT UNSIGNED NOT NULL DEFAULT 18,email VARCHAR(50) NOT NULL
);-- 给email字段添加默认值 imooc@qq.com
ALTER TABLE user2
ALTER email SET DEFAULT 'imooc@qq.com';-- 删除age字段的默认值
ALTER TABLE user2
ALTER age DROP DEFAULT;-- 测试修改字段类型和字段属性、字段名称
CREATE TABLE user3(id INT UNSIGNED AUTO_INCREMENT KEY,username VARCHAR(5) NOT NULL UNIQUE,password CHAR(32) NOT NULL,email VARCHAR(10) NOT NULL
);-- 将用户名字段的类型改为20
ALTER TABLE user3
MODIFY username VARCHAR(20) NOT NULL;-- 将密码的长度改为40
ALTER TABLE user3
MODIFY password CHAR(40) NOT NULL;-- 将email字段改为VARCHAR(50) NOT NULL FIRST
ALTER TABLE user3
MODIFY email VARCHAR(50) NOT NULL FIRST;-- 将username 名称改为user
ALTER TABLE user3
CHANGE username user VARCHAR(20);-- 将password 名称改为pwd
ALTER TABLE user3
CHANGE password pwd CHAR(40) NOT NULL;-- 将email改成userEmail 类型改为VARCHAR(100) DEFAULT 'imooc@qq.com';
ALTER TABLE user3
CHANGE email userEmail VARCHAR(100) DEFAULT 'imooc@qq.com';-- 测试添加和删除主键
CREATE TABLE user4(id INT UNSIGNED,username VARCHAR(20) NOT NULL
);-- 添加主键
ALTER TABLE user4
ADD PRIMARY KEY(id);-- 删除主键
ALTER TABLE user4
DROP PRIMARY KEY;-- 当有主键的列同时有自增时如何删除?
CREATE TABLE user5(id INT UNSIGNED AUTO_INCREMENT KEY,username VARCHAR(20) NOT NULL
);-- 删除主键
-- 1.先删除AUTO_INCREMENT
ALTER TABLE user5
MODIFY id INT UNSIGNED;
-- 2.在删除主键
ALTER TABLE user5
DROP PRIMARY KEY;-- 测试添加和删除唯一
CREATE TABLE user6(id INT UNSIGNED AUTO_INCREMENT KEY,username VARCHAR(20) NOT NULL UNIQUE,password CHAR(32) NOT NULL,email VARCHAR(50) NOT NULL UNIQUE
);-- 删除唯一索引 username 和email
ALTER TABLE user6
DROP INDEX username;ALTER TABLE user6
DROP INDEX email;-- 添加唯一索引(不指定索引名称)
ALTER TABLE user6
ADD UNIQUE KEY(username);-- 添加唯一索引(指定索引名称)
ALTER TABLE user6
ADD UNIQUE INDEX uni_email(email);-- 根据索引名称删除唯一索引
ALTER TABLE user6
DROP INDEX uni_email;-- 测试MyISAM存储引擎
CREATE TABLE test_myisam(a INT UNSIGNED,b VARCHAR(20),c CHAR(32)
)ENGINE=MyISAM;-- 定长
CREATE TABLE myisam_1(a CHAR(30),id int
)ENGINE=MyISAM;-- 查看状态
SHOW TABLE STATUS LIKE 'myisam_1'\G-- 动态
CREATE TABLE myisam_2(a VARCHAR(30),id INT
)ENGINE=MyISAM;CREATE TABLE myisam_3(a VARCHAR(30),id INT
)ENGINE=MyISAM ROW_FORMAT=FIXED;