**MYSQL** 系列四

系列四数据表结构的相关操作
#第十七课时修改表名称

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 user10

ADD 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 user10

DROP test3,
DROP test4;

--批量处理添加删除操作
ALTER TABLE user10

ADD 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 = 存储引擎名称;
--修改表的引擎为MYISAM
ALTER 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();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值