表操作

image.png
一.創(chuàng)建表

image.png
1.未設(shè)置默認(rèn)值
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.設(shè)置默認(rèn)值
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黑框——?jiǎng)?chuàng)建表

image.png
二.復(fù)制表

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

image.png
復(fù)制一個(gè)空表
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;
五.課后作業(yè)
Q1:請(qǐng)寫出創(chuàng)建表語(yǔ)句的結(jié)構(gòu)、常用的屬性及相關(guān)注意事項(xiàng)。

image.png
Q2:寫出為表增加字段和修改字段數(shù)據(jù)類型的語(yǔ)句結(jié)構(gòu)。

image.png
Q3:寫出以下語(yǔ)句
1、復(fù)制 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;