MySQL table
-- 使用数据库hr
use hr;
-- 在数据库中创建表
-- ------------------------------------JOBS表----------------------------------------------------------
-- 判断数据库中是否存在表JOBS
drop table if exists JOBS;
-- 创建表JOBS
create table JOBS
(
JOB_ID VARCHAR(10) not null,-- 职位编号,主键
JOB_TITLE NVARCHAR(20) not null,-- 职位名称
MIN_SALARY float not null, -- 职位最低薪资,不小于1000元 mysql中没有money类型的数据类型
MAX_SALARY float not null -- 职位最高薪资,不小于最低薪资
);
-- 给JOBS表创建约束
-- 添加主键约束
alter table JOBS
add constraint primary key(JOB_ID);
-- 职位最低薪资,不小于1000元
alter table JOBS
add constraint check(MIN_SALARY>=1000);
-- 职位最高薪资,不小于最低薪资
alter table JOBS
add check(MAX_SALARY>=MIN_SALARY);
-- 插入测试数据
-- insert into JOBS values('100','经理',12000,19990),('101','主管',6200,8999);
-- select * from JOBS;
-- ------------------------------------------------DEPARTMENTS部门表的结构-------------------------------------------------------------
-- 判断数据库中是否存在表DEPARTMENTS
drop table if exists DEPARTMENTS;
-- 创建表DEPARTMENTS
create table DEPARTMENTS
(
DEPARTMENT_ID INT not null, -- 部门编号,主键,自增。
DEPARTMENT_NAME NVARCHAR(30) not null, -- 部门名称
MANAGER_ID INT -- 部门主管编号,外键,引用EMPLOYEES表的EMPLOYEE_ID
);
-- 创建表DEPARTMENTS的约束
-- 创建主键的约束
alter table DEPARTMENTS
add constraint primary key(DEPARTMENT_ID);
-- 为主键添加自动增长
alter table DEPARTMENTS
modify DEPARTMENT_ID int auto_increment;
-- 部门主管编号,外键,引用EMPLOYEES表的EMPLOYEE_ID
-- alter table DEPARTMENTS
-- add constraint FK_MANAGER_ID foreign key(MANAGER_ID) references EMPLOYEES(EMPLOYEE_ID);
-- 插入测试数据
-- insert into DEPARTMENTS values(null,'财务部',200),(null,'采购部',300);
-- select * from DEPARTMENTS;
-- ----------------------------------------------EMPLOYEES职员表的结构-----------------------------------------------------------------------
-- 判断数据库中是否存在表EMPLOYEES
drop table if exists EMPLOYEES;
-- 创建表EMPLOYEES
create table EMPLOYEES
(
EMPLOYEE_ID INT not null, -- 职员编号,主键,自增(起始值为100,每次增1)
FIRST_NAME NVARCHAR(4) not null, -- 职员名称
LAST_NAME NVARCHAR(4) not null, -- 职员姓氏
EMAIL VARCHAR(25) not null, -- 职员邮件
PHONE_NUMBER VARCHAR(20) not null, -- 职员电话
HIRE_DATE TIMESTAMP not null, -- getdate() 职员入职时间
JOB_ID VARCHAR(10) not null, -- 职员职位编号,外键,引用JOBS表的JOB_ID
SALARY float , -- 职员薪资,大于0;
MANAGER_ID INT , -- 职员主管编号,外键,引用EMPLOYEES表的EMPLOYEE_ID
DEPARTMENT_ID INT -- 职员部门编号,外键,引用DEPARTMENTS表的DEPARTMENT_ID
)auto_increment=100;
-- 添加约束
-- 添加 主键约束
alter table EMPLOYEES
add primary key(EMPLOYEE_ID);
-- 为主键添加自增
alter table EMPLOYEES
modify EMPLOYEE_ID int auto_increment;
-- getdate() 职员入职时间
alter table EMPLOYEES
modify HIRE_DATE TIMESTAMP default '2016-7-23';
-- 添加约束 职员职位编号,外键,引用JOBS表的JOB_ID----------------------------添加外键约束时要加上constraint
-- alter table EMPLOYEES
-- add constraint FK_JOB_ID foreign key(JOB_ID) references JBOS(JOB_ID);
-- 职员薪资,大于0
alter table EMPLOYEES
add check(SALARY>0);
-- 职员主管编号,外键,引用EMPLOYEES表的EMPLOYEE_ID
alter table EMPLOYEES
add constraint FK_EMPLOYEE_ID foreign key(EMPLOYEE_ID) references EMPLOYEES(EMPLOYEE_ID);
-- 职员部门编号,外键,引用DEPARTMENTS表的DEPARTMENT_ID
alter table EMPLOYEES
add constraint FK_DEPARTMENT_ID foreign key(DEPARTMENT_ID) references DEPARTMENTS(DEPARTMENT_ID);
MySQL table的更多相关文章
- MySQL: Table 'mysql.plugin' doesn't exist的解决
安装解压版MySQL以后,不能启动,日志里面出现了这个错误: MySQL: Table 'mysql.plugin' doesn't exist 这是因为mysql服务启动时候找不到内置数据库&quo ...
- 解决mysql Table ‘xxx’ is marked as crashed and should be repaired的问题。
解决mysql Table 'xxx' is marked as crashed and should be repaired的问题. 某个表在进行数据插入和更新时突然出现Table 'xxx' is ...
- MySQL Table is marked as crashed 解决方法
MYSQL数据表出现问题,提示: ERROR 144 (HY000): Table './dpt/dpt_production' is marked as crashed and last (auto ...
- mysql table readonly
if the table does not have primary key or unique non-nullable defined, then MySql workbench could no ...
- mysql table is marked as crashed and last (automatic?) repair failed
1.同事的服务器在mysqldump备份的时候报错了 这个原因是myisam的表数据太多,在某个时刻, 存放数据的这个MyISAM表数据急速长大. 比如一些log表, 当硬盘写满了.这个时候还在继续写 ...
- MySql Table错误:is marked as crashed and last (automatic?) 和 Error: Table "mysql"."innodb_table_stats" not found
一.mysql 执行select 的时候报Table错误:is marked as crashed and last (automatic?) 解决方法如下: 找到mysql的安装目录的bin/myi ...
- MySql:Table 'database.TABLE_ONE' doesn't exist
1. 问题描述 由于最近使用本地的MySQL奔溃了,在修改管理员密码时,不慎修改错误,导致无法重新写会,甚至按照MySQL官网手册都无法修改正确,遂放弃修改root密码,直接将一个未有数据的纯净版My ...
- 学习笔记:ALTERing a Huge MySQL Table - 对一个超大表做alter调整
Table of Contents The ProblemFuture SolutionsOverview of SolutionShortcutAssumptions/Restrictions/Co ...
- mysql Table 'performance_schema.session_variables' doesn't exist
CMD 进入MYSQL的安装目录..Bin 下 执行 mysql_upgrade -u root -p --force 输入密码..然后等待一会儿..会跑一些东西..然后重启服务
随机推荐
- SPOJ QTREE Query on a tree V ——动态点分治
[题目分析] QTREE4的弱化版本 建立出分治树,每个节点的堆表示到改点的最近白点距离. 然后分治树上一直向上,取min即可. 正确性显然,不用担心出现在同一子树的情况(不会是最优解),请自行脑补. ...
- 【扫描线或树状数组】CSU 1335 高桥和低桥
http://acm.csu.edu.cn/csuoj/problemset/problem?pid=1335 [题意] 给定n座桥的高度,给定m次洪水每次的涨水水位ai和退水水位bi 询问有多少座桥 ...
- Spoj-NETADMIN Smart Network Administrator
The citizens of a small village are tired of being the only inhabitants around without a connection ...
- ndarray:一种多维数组对象
ndarray是一个通用的同构数据多维容器,也就是说,其中的所有元素必须是相同类型的.每个数组都有一个shape(一个表示各维度大小的元组)和一个dtype(一个用于说明数组数据类型的对象). In ...
- Honey Heist
5092: Honey Heist 时间限制: 1 Sec 内存限制: 128 MB 题目描述 0x67 is a scout ant searching for food and discover ...
- 商务旅行(codevs 1036)
题目描述 Description 某首都城市的商人要经常到各城镇去做生意,他们按自己的路线去做,目的是为了更好的节约时间. 假设有N个城镇,首都编号为1,商人从首都出发,其他各城镇之间都有道路连接,任 ...
- 标准C程序设计七---03
Linux应用 编程深入 语言编程 标准C程序设计七---经典C11程序设计 以下内容为阅读: <标准C程序设计>(第7版) 作者 ...
- Day 6 Linux基础之正文处理、vi编辑和系统初始化和服务
Linux基础之正文处理.vi编辑和系统化服务 一.正文处理命令及tar命令 1.归档 定义:归档(archiving)就是将许多文件(或目录)打包成一个文件. 目的:归档的目的就是方便备份.还原及文 ...
- 2017 ACM/ICPC 广西邀请赛 题解
题目链接 Problems HDOJ上的题目顺序可能和现场比赛的题目顺序不一样, 我这里的是按照HDOJ的题目顺序来写的. Problem 1001 签到 #include <bits/std ...
- 【PowerShell 学习系列】-- 删除Win10自带应用
Get-AppxPackage *3d* | Remove-AppxPackage Get-AppxPackage *camera* | Remove-AppxPackage Get-AppxPack ...