2021-07-27 SQL Day11

表操作

image.png

一.创建表

image.png

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');
image.png

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';
image.png

3.MySQL黑框——创建表

image.png

二.复制表

image.png
CREATE TABLE pet5
AS
SELECT * FROM pet4;

SELECT * FROM pet5;
image.png
复制一个空表
CREATE TABLE pet5
AS
SELECT p2.name, p2.owner
FROM pet2 AS p2
WHERE 1 = 2;
image.png

三.更新表

1.增加字段名 ADD

image.png
ALTER TABLE pet5
ADD sex CHAR(1);

ALTER TABLE pet5
ADD birth DATE NOT NULL;

SELECT * FROM pet5;
image.png

2.删除字段名 DROP

ALTER TABLE pet5 DROP birth, DROP sex;
image.png
ALTER TABLE pet5 DROP COLUMN birth;
image.png

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;

四.删除表

image.png
DROP TABLE pet5;

五.课后作业

Q1:请写出创建表语句的结构、常用的属性及相关注意事项。

image.png

Q2:写出为表增加字段和修改字段数据类型的语句结构。

image.png

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;
image.png

2、增加 net_w 列,类型为 VARCHAR(255)

ALTER TABLE milk_tea2
ADD net_w VARCHAR(255);
image.png

3、修改 net_w 列与 milk_tea 表中的 net_w 列完全一样


image.png

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;
image.png

5、删除 milk_tea2 表的 net_w 和 valid_month 列

ALTER TABLE milk_tea2 DROP net_w, DROP valid_month;
image.png

6、删除 milk_tea2 表

DROP TABLE milk_tea2;

你可能感兴趣的:(2021-07-27 SQL Day11)