表操作
一.创建表
1.未设置默认值
CREATE TABLE pet2
(
name VARCHAR(255) NOT NULL,
owner VARCHAR(255) NOT NULL,
species VARCHAR(255),
sex CHAR(1),
birth DATE,
death DATE
);
SELECT * FROM pet2;
INSERT INTO pet2
VALUES ('Bowser', 'Diane', 'dog', 'm', 19790831, 19950729);
INSERT INTO pet2 (name, owner, species, sex)
VALUES('Bowser2', 'Diane', 'dog','m');
2.设置默认值
CREATE TABLE pet3
(
name VARCHAR(255) NOT NULL,
owner VARCHAR(255) DEFAULT 'police',
species VARCHAR(255),
sex CHAR(1),
birth DATE,
death DATE
);
INSERT INTO pet3 (name, species, sex)
VALUES('Bowser2', 'dog', 'm');
SELECT * FROM pet3;
INSERT INTO pet3 (name, owner, species, sex)
VALUES('Bowser2', NULL, 'dog', 'm');
UPDATE pet3
SET owner = NULL
WHERE name = 'Bowser2';
3.MySQL黑框——创建表
二.复制表
CREATE TABLE pet5
AS
SELECT * FROM pet4;
SELECT * FROM pet5;
复制一个空表
CREATE TABLE pet5
AS
SELECT p2.name, p2.owner
FROM pet2 AS p2
WHERE 1 = 2;
三.更新表
1.增加字段名 ADD
ALTER TABLE pet5
ADD sex CHAR(1);
ALTER TABLE pet5
ADD birth DATE NOT NULL;
SELECT * FROM pet5;
2.删除字段名 DROP
ALTER TABLE pet5 DROP birth, DROP sex;
ALTER TABLE pet5 DROP COLUMN birth;
3.修改字段名属性
ALTER TABLE pet5 MODIFY COLUMN sex VARCHAR(255);
ALTER TABLE pet5 MODIFY COLUMN sex CHAR(2);
ALTER TABLE pet5 MODIFY COLUMN sex CHAR(2) NOT NULL;
4.修改表名
RENAME TABLE pet5 TO pet5_0;
四.删除表
DROP TABLE pet5;
五.课后作业
Q1:请写出创建表语句的结构、常用的属性及相关注意事项。
Q2:写出为表增加字段和修改字段数据类型的语句结构。
Q3:写出以下语句
1、复制 milk_tea 表的 prod_id/prod_name/prod_date/valid_month列至表 milk_tea2,
使其的 prod_id 列为 milk_tea 表中 prod_id 值添加前缀‘T’,其余列与 milk_tea 表
一模一样
CREATE TABLE milk_tea2
AS
SELECT CONCAT('T', mt.prod_id) AS prod_id, mt.prod_name, mt.pro_date, mt.valid_month
FROM milk_tea AS mt;
SELECT * FROM milk_tea2;
2、增加 net_w 列,类型为 VARCHAR(255)
ALTER TABLE milk_tea2
ADD net_w VARCHAR(255);
3、修改 net_w 列与 milk_tea 表中的 net_w 列完全一样
4、修改 milk_tea2 表中的 pro_date 列缺省值为‘20190401’
ALTER TABLE milk_tea2 MODIFY COLUMN pro_date DATE DEFAULT '20190401';
UPDATE milk_tea2 AS mt2
SET mt2.pro_date = '20190401'
WHERE mt2.pro_date IS NULL;
5、删除 milk_tea2 表的 net_w 和 valid_month 列
ALTER TABLE milk_tea2 DROP net_w, DROP valid_month;
6、删除 milk_tea2 表
DROP TABLE milk_tea2;