数据库简单作业语句语法解答如下题:
工厂(包括厂名和厂长名)需建立一个管理数据库存储以下信息: 一个工厂有多个车间,每个车间有车间号、车间主任姓名、地址和电话。 一个车间有多个工人,每个工人有职工号、姓名、年龄、性别和工种。 一个车间生产多种产品,产品有产品号和价格。 一个车间生产多种零件,一个零件也可能为多个车间制造。 一个产品由多种零件组成,一个零件也可装配出多种产品。 零件有零件号、质量和价格。 产品与零件均存入仓库中。 厂内有多个仓库,仓库有仓库号、仓库主任姓名和电话。(相关SQL语句,创建表与增删改查,该题转自网络,解答原创)
一.时间格式一般分为3种如下
1.TIMESTAMP
显示格式:YYYY-MM-DD HH:MM:SS
时间范围:[ '1970-01-01 00:00:00'到'2037-12-31 23:59:59']
2.DATETIME
显示格式:YYYY-MM-DD HH:MM:SS
时间范围:[ '1000-01-01 00:00:00'到'9999-12-31 23:59:59']
3.DATE
显示格式:YYYY-MM-DD
时间范围:['1000-01-01'到'9999-12-31']
二.删除主外键语法
--删除外键语法:alter table 表名 drop constraint 外键约束名
--添加外键 语法:alter table 表名 add constraint 外键约束名 foreign key(列名) references 引用外键表(列名)
--删除主键 语法:alter table 表名 drop constraint 主键约束名
--增加主键 语法:alter 表名 add constraint 主键约束名 primary key(列名)
温馨提示(删除带有外键的主键,需要先将外键删除,删除外键,得先把外键数据更新为空,然后把错误的主键的属性替换成正确的主键属性)
三.SQL语句
/*创建工厂表*/
CREATE TABLE factory(
factory_id INT PRIMARY KEY,
factory_name VARCHAR(20),
director_name VARCHAR(20)
);
/*查询成都工厂下面有哪些工人*/
SELECT a.factory_name ,b.location ,c.*FROM factory a,workshop b ,worker c WHERE a.factory_id=100 AND a.factory_id=b.factory_id AND b.workshop_id=c.workshop_id
/*查询车都车间下面要生产哪些产品*/
SELECT a.location, b.* FROM workshop a,product b, manuproduct c WHERE a.location LIKE '%成都%'AND a.workshop_id=c.workshop_id AND b.product_id=c.product_id
/*插入数据*/worker
INSERT
INTO factory(factory_id,factory_name,director_name)
VALUES ('1','神州','王洪');
INSERT
INTO factory(factory_id,factory_name,director_name)
VALUES ('2','长虹','李林');
INSERT
INTO factory(factory_id,factory_name,director_name)
VALUES ('3','长虹','刘欣');
INSERT
INTO factory(factory_id,factory_name,director_name)
VALUES ('100','华为','晓文');
INSERT
INTO factory(factory_id,factory_name,director_name)
VALUES ('101','联通','李心');
INSERT
INTO factory(factory_id,factory_name,director_name)
VALUES ('109','腾讯','刘系');
/*查询工厂编号从101-109的工厂信息*/
SELECT *FROM factory WHERE factory_id BETWEEN 101 AND 109
/*查询工厂表里面有那些姓“刘”的主任*/
SELECT *FROM factory WHERE director_name LIKE '刘%'
/*查询工厂表中第3条道第5条的数据*/
SELECT *FROM factory LIMIT 2,4
/*复制表结构及数据到新表*/
CREATE TABLE fac SELECT * FROM factory;
/*只复制表结构到新表*/
CREATE TABLE fa LIKE factory