初识数据库

169 阅读1分钟

打卡及作业

数据库的创建( 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;