打卡及作业
数据库的创建( CREATE DATABASE 语句)
CREATE DATABASE < 数据库名称 > ;
表的创建( CREATE TABLE 语句)
CREATE TABLE < 表名 >
( < 列名 1> < 数据类型 > < 该列所需约束 > ,
< 列名 2> < 数据类型 > < 该列所需约束 > ,
< 列名 3> < 数据类型 > < 该列所需约束 > ,
< 列名 4> < 数据类型 > < 该列所需约束 > ,
.
.
.
< 该表的约束 1> , < 该表的约束 2> ,……);
Tips:
复制粘贴的SQL语句可能会有格式化的问题,报错信息如下:
1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'KEY (product_id))' at line 7
可以用这个网站格式化 sql tool.lu/sql/
练习题
- 1.1 编写一条 CREATE TABLE 语句,用来创建一个包含表 1-A 中所列各项的表 Addressbook (地址簿),并为 regist_no (注册编号)列设置主键约束
表1-A 表 Addressbook (地址簿)中的列
CREATE TABLE Addressbook (
egist_no INTEGER NOT NULL,
name VARCHAR(128) NOT NULL,
address VARCHAR(256) NOT NULL,
tel_no CHAR(10),
mail_address CHAR(20),
PRIMARY KEY (egist_no)
);
- 1.2 假设在创建练习1.1中的 Addressbook 表时忘记添加如下一列 postal_code (邮政编码)了,请编写 SQL 把此列添加到 Addressbook 表中。 列名 : postal_code 数据类型 :定长字符串类型(长度为 8) 约束 :不能为 NULL
ALTER TABLE Addressbook ADD COLUMN postal_code CHAR ( 8 ) NOT NULL;
1.3 填空题 请补充如下 SQL 语句来删除 Addressbook 表。
( ) table Addressbook;
DROP table Addressbook;
1.4 判断题 是否可以编写 SQL 语句来恢复删除掉的 Addressbook 表?
不能。 但在事先进行了备份的情况下可重建并恢复数据。
INSERT INTO Addressbook
SELECT * FROM Addressbook_backup;