**MYSQL** 系列四

来源:互联网 发布:深圳人工智能公司排名 编辑:程序博客网 时间:2024/06/08 10:37
系列四数据表结构的相关操作
#第十七课时修改表名称CREATE TABLE IF NOT EXISTS user10(id SMALLINT UNSIGNED KEY AUTO_INCREMENT,username VARCHAR(20) NOT NULL UNIQUE,password CHAR(32) NOT NULL ,email VARCHAR(50) NOT NULL DEFAULT '4646546@qq.com',age TINYINT UNSIGNED DEFAULT 18,sex ENUM('man','woman','secret') DEFAULT 'secret',addr VARCHAR(200) NOT NULL DEFAULT 'beijing',salary float(6,2),regTime INT UNSIGNED,face CHAR(100) NOT NULL DEFAULT 'default.jpg');--修改表名--ALTER TABEL tbl_name RENAME [TO|AS] new_name;--RENAME TABLE tba_name TO new_name;ALTER TABLE user10 RENAME TO user11;ALTER TABLE user11 RENAME AS user10;ALTER TABLE user10 RENAME user11;RENAME TABLE user11 TO user10;RENAME TABLE user10 TO user11;--挺有意思的,感觉SQL语言有点规则,动作+类型+名称+附属操作#第十八课时添加和删除字段--添加或删除字段ALTER TABEL tbl_name ADD 字段名称 字段类型[完整性约束条件][FIRST|AFTER 字段名称]ALTER TABLE tbl_name DROP 字段名称--添加card字段char类型ALTER TABLE user10 ADD card CHAR(18);ALTER TABLE user10 ADD test1 VARCHAR(100) NOT NULL UNIQUE;ALTER TABLE user10 ADD test2 VARCHAR(100) NOT NULL UNIQUE FIRST;ALTER TABLE user10 ADD test3 VARCHAR(100) NOT NULL DEFAULT 100 AFTER password;--选中一次表完成多个操作ALTER TABLE user10ADD test4 INT NOT NULL DEFAULT 123 AFTER password,ADD test5 FLOAT(6,2)FIRST,ADD test6 SET('A','V','C');--删除某些字段ALTER TABLE user10 DROP test1;--删除多个字段ALTER TABLE user10DROP test3,DROP test4;--批量处理添加删除操作ALTER TABLE user10ADD test INT UNSIGNED NOT NULL DEFAULT 10 AFTER sex,DROP addr;#第十九课时修改字段类型、完整性约束条件、位置和名称--modify修改完整性约束条件时,不能对默认值和主键进行操作。ALTER TABLE tbl_name MODIFY 字段名称 字段类型[完整性约束条件][FIRST|AFTER 字段名称];ALTER TABLE tbl_name CHANGE 旧的字段名称 新的字段名称 字段类型 [完整性约束条件][FIRST|AFTER 字段名称];--修改email的类型ALTER TABLE user10 MODIFY email VARCHAR(200);--修改email的完整性约束条件ALTER TABLE user10 MODIFY email VARCHAR(20) NOT NULL DEFAULT '1651656@qq.com';--修改email的位置ALTER TABLE user10 MODIFY email VARCHAR(20) AFTER test;--使用change更换字段的相关属性ALTER TABLE user10 CHANGE test test1 CHAR(32) NOT NULL DEFAULT '123' FIRST;#第二十课时--添加和删除默认值ALTER TABLE tbl_name ALTER 字段名称 SET DEFAULT 默认值;ALTER TABLE tbl_name ALTER 字段名称 DROP DEFAULT;#第二十一课时--添加主键删除主键ALTER TABLE tbl_name ADD [CONSTRAINT[symbol]]PRIMARY KEY[index_type](字段名称)ALTER TABLE tbl_name DROP PRIMARY KEY;--添加单主键ALTER TABLE test10 ADD PRIMARY KEY (id);--添加复合主键ALTER TABLE test13 ADD PRIMARY KEY(id, card);--完整表达形式ALTER TABLE test12 ADD CONSTRAINT symbol PRIMARY KEY index_type(id);#第二十二课时--添加删除唯一索引ALTER TABLE tbl_name ADD [CONSTRAINT [SYMPOL]] UNIQUE [INDEX|KEY][索引名称](字段名称);ALTER TABLE tbl_name DROP [INDEX|KEY] index_name;--示例ALTER TABLE user12 ADD UNIQUE(usename);ALTER TABLE user12 ADD CONSTRAINT symple  UNIQUE KEY uni_card(card);LTER TABLE user12 ADD CONSTRAINT symple  UNIQUE INDEX uni_test1_test2(test1,test2)ALTER TABLE tbl_name DROP INDEX username;ALTER TABLE tbl_name DROP KEY mulUni_test1_test2;--修改表的存储引擎ALTER TABLE tbl_name ENGINE = 存储引擎名称;--修改表的引擎为MYISAMALTER TABLE test12 ENGINE = MYISAM;--设置自增长的值ALTER TABLE tbl_name AUTO_INCREMEN = 值;--修改主键的自增长值为ALTER TABLE user12 AUTO_INCREMENT = 100;#第二十三课时--删除数据表DROP TABLE user12;DROP TABLE IF EXISTS user11,user12,user14;--在打开MySQL的同时直接打开数据表mysql -uroot -p -D maizi --promot = \d~\D~\u~\h--查看打开的数据库SELECT DATABASE();

0 0
原创粉丝点击