练习一:
-
创建数据库company,在库中创建两个表offices和employees表
CREATE DATABASE company;
USE company;
CREATE TABLE offices (
officeCode INT ( 10 ) PRIMARY KEY,
city VARCHAR ( 50 ) NOT NULL,
address VARCHAR ( 50 ),
country VARCHAR ( 50 ) NOT NULL,
postalCode VARCHAR ( 15 ) UNIQUE
);
CREATE TABLE employees (
employeeNumber INT ( 11 ) PRIMARY KEY auto_INCREMENT,
lastName VARCHAR ( 50 ) NOT NULL,
firstName VARCHAR ( 50 ) NOT NULL,
mobile VARCHAR ( 25 ) UNIQUE,
officeCode INT ( 10 ) not null,
jobTitle VARCHAR ( 50 ) NOT NULL,
birth datetime NOT NULL,
note VARCHAR ( 225 ),
sex VARCHAR ( 3 )
);
-- 插入外键
ALTER TABLE employees ADD CONSTRAINT fk_campany_offices FOREIGN KEY(officeCode) REFERENCES
offices(officeCode);
desc offices;
desc employees;
-- 3.将表employees的mobile字段修改到officeCode字段后面。
ALTER TABLE employees MODIFY mobile INT AFTER officeCode;
-- 4. 将表employees的birth字段改名为employee_birth。
ALTER TABLE employees CHANGE birth employees_birth datetime not null;
-- 5. 修改sex字段,数据类型为CHAR(1),非空约束。
ALTER TABLE employees MODIFY sex CHAR(1) not null;
-- 6. 删除字段note。
alter table employees drop note;
-- 7. 增加字段名favoriate_activity,数据类型为VARCHAR(100)。
alter table employees add favoriate_activity varchar(100);
-- 8. 删除表offices。
-- 首先删除外键,在删除表
alter table employees_info drop foreign key fk_campany_offices;
DROP TABLE offices;
-- 9. 将表employees名称修改为employees_info。
alter table employees rename to employees_info;
-- 创建数据库Market,在Market中创建数据表customers
CREATE DATABASE Market;
USE Market;
CREATE TABLE customers (
c_num INT ( 11 ) PRIMARY KEY auto_increment,
c_name VARCHAR ( 50 ),
c_contact VARCHAR ( 50 ),
c_city VARCHAR ( 50 ),
c_birth datetime NOT NULL
);
DESC customers;
-- 2. 将c_contact字段插入c_birth字段后面。
ALTER TABLE customers MODIFY c_contact VARCHAR ( 50 ) AFTER c_birth;
-- 3. 将c_name字段数据类型改为VARCHAR(70)。
ALTER TABLE customers MODIFY c_name VARCHAR ( 70 );
-- 4. 将c_contact字段改名为c_phone。
ALTER TABLE customers CHANGE c_contact c_phone VARCHAR ( 50 );
-- 5. 增加c_gender字段,数据类型为CHAR(1)。
ALTER TABLE customers ADD c_gender CHAR ( 1 );
-- 6. 将表名修改为customers_info。
ALTER TABLE customers RENAME TO customers_info;
-- 7. 删除字段c_city。
ALTER TABLE customers_info DROP c_city;
DESC customers_info;
-- 8. 修改数据表的存储引擎为MyISAM。
-- ALTER TABLE <表名> ENGINE=<更改后的存储引擎名>;
ALTER TABLE customers_info ENGINE = myisam;
-- 9. 在Market中创建数据表orders。
CREATE TABLE orders ( o_num INT ( 11 ) PRIMARY KEY auto_increment, o_date date, c_id INT ( 11 ) );
DESC orders;
-- 10. 创建数据表orders,在o_num字段上添加主键约束和自增约束,在 c_id字段上添加外键约束,关联customers表中的主键c_num。
ALTER TABLE customers_info RENAME TO customers;
-- 添加外键:ALTER TABLE 子表 ADD CONSTRAINT 约束名 FOREIGN KEY (外键) REFERENCES 主表(主键);
ALTER TABLE orders ADD CONSTRAINT fk_customers_cnum FOREIGN KEY ( c_id ) REFERENCES customers ( c_num );
-- 11. 删除orders表的外键约束,然后删除表customers。
alter table orders drop foreign key fk_customers_cnum;
drop table orders;
版权声明:本文为Alex_Madison原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。