【MySQL】作业一

练习一:

  1. 创建数据库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;
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值