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 输入密码..然后等待一会儿..会跑一些东西..然后重启服务
随机推荐
- HDU——2955Robberies(小数背包)
Robberies Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total ...
- BZOJ 2242 [SDOI2011]计算器 ——EXGCD/快速幂/BSGS
三合一的题目. exgcd不解释,快速幂不解释. BSGS采用了一种不用写EXGCD的方法,写起来感觉好了很多. 比较坑,没给BSGS的样例(LAJI) #include <map> #i ...
- 刷题总结——shortest(ssoi)
题目: 题目背景 SOURCE:NOIP2015-SHY-3 题目描述 给定一张 n 个点的有向带权完全图,和一个数组 a[] ,请按顺序删除数组中的点,请求出在删除点 a[i] 以前,所有未删除点对 ...
- spring之scope作用域
spring中,bean的作用域有五种类型:默认是单例模式, singleton prototype request session ...
- [ZJOI2007]棋盘制作 (单调栈,动态规划)
题目描述 国际象棋是世界上最古老的博弈游戏之一,和中国的围棋.象棋以及日本的将棋同享盛名.据说国际象棋起源于易经的思想,棋盘是一个 8 \times 88×8 大小的黑白相间的方阵,对应八八六十四卦, ...
- 【二分+扫描线乱搞】B. Producing Snow
注意二分写法... http://codeforces.com/problemset/problem/923/B #include<cstdio> #include<string.h ...
- servlet对form提交的数据进行XML转换后发送
今天遇到一个项目,要求对form表单提交的数据进行以xml格式发送出去: 直接写XMLUtil工具类如下: package com.yfit.controller; import javax.serv ...
- SLF4J 简单日志门面 介绍和使用
参考:http://singleant.iteye.com/blog/934593 http://liuzidong.iteye.com/blog/776072 介绍: 简单日记门面(s ...
- LA 3263 平面划分
Little Joey invented a scrabble machine that he called Euler, after the great mathematician. In his ...
- 高通android7.0刷机工具使用介绍
刷机工具安装 1. 安装QPST.WIN.2.7 Installer-00448.3 2. 安装python2.7,并配置其环境变量 刷机方法 1.将编译后的刷机文件拷贝到如下目录:SC20_CE_p ...