[mysql]SQL语言的规则和规范

规则

是什么呢,规则就是我们最基本,每时每刻都要遵守的比如人行道靠右,不能逆行,

规范

呢就是锦上添花,如果你不这么做,是不那么道德,不那么好的,就像小学生见到老师要问好,不问好可以吗,当然也是可以的,但是这样就不那么礼貌了。但是也不会开除你,

规范是建议。规则:

USE dbtest2

SELECT * FROM emp

我们之前使用cmd操作的时候,是不是必须要先选择一个数据库我们才可以对里面的表进行操作,但是如果我们使用的是图形工具,我们是可以直接用鼠标选中数据库,然后运行查询语句,也可以做到

这样也是可以出结果的,

规范:我们尽量把每个sql语句写在不同的行里,必要的时候比如循环类要使用缩进。(一条命令写在两行里也是可以运行的。)

规则:执行2个以上命令我们在后面一定要加;不加就会报错。如果只运行一个那就可写可不写

这里我们使用show create table city\G,如果在navicat里就会报错,如果在cmd命令里就是正常的,这是因为,\G代表的是和分号一样的效果,但是附带buff转置查看,图形工具做不到,就会导致报错。在

关键字不能被缩写和分行,比如insert 不能写成 in sert

in

sert

是个很显然的问题。这个要注意。

我们在图形工具里的单词赋予特殊含义的就是关键词

关于标点符号,小括号,单引号,必须成对引用。我们的字符串、日期时间类型的变量需要使用单引号表示。

列的别名要用双引号。

SQL大小写的规范(建议遵守)

在windows下SQL是大小写不敏感的。linux下SQL的大小写是敏感。

这是什么意思呢,我现在建立一个ABC的txt文件,我把它加入文件夹,文件夹里已经有一个abc的txt文件,如果我们要加入,他就会报错

这其实就是大小写不敏感,windows它本身不区分大小写,所以mysql在windows下运行它也就不敏感了,如果我们写select 和写SELECT其实代表的含义是一样的

相当于我们大小写就是不敏感的,那么在linux下它就敏感了,在linux中数据库名,表名,表的别名,是严格区分大小写的,而关键字,函数名,列名,字段名就是忽略大小写的。

推荐采用统一的书写规范:

数据库名、和表名,表别名都用小写,字段名、字段的别名都小写,SQL关键字,函数名,绑定的变量,都用大写。仅此而已。

注释:

我们对我们编写的程序进行解释说明的,在我们#后面写的信息,就是被单行注释的文字。注释的信息是不会被执行的。

/*信息*/多行注释是不能嵌套,他的配对法则是很奇怪的

-- 单行注释,杠杠空格代表的就是单行注释。大家注意这个点。

命名规则

之后我们第10章创建和管理表的时候,我们再细说。

这样我们就把规则和规范做了一个交代,我们就说到这里。

SQL的规则---必须要遵守

SQL 可以写在一行或者多行。为了提高可读性,各子句分行写,必要时使用缩进 每条命令以 ; 或 \g 或 \G 结束 关键字不能被缩写也不能分行 关于标点符号 必须保证所有的()、单引号、双引号是成对结束的 必须使用英文状态下的半角输入方式 字符串型和日期时间类型的数据可以使用单引号(' ')表示 列的别名,尽量使用双引号(" "),而且不建议省略as

SQL的规范---建议要遵守

MySQL 在 Windows 环境下是大小写不敏感的 MySQL 在 Linux 环境下是大小写敏感的 数据库名、表名、表的别名、变量名是严格区分大小写的 关键字、函数名、列名(或字段名)、列的别名(字段的别名) 是忽略大小写的。 推荐采用统一的书写规范: 数据库名、表名、表别名、字段名、字段别名等都小写 SQL 关键字、函数名、绑定变量等都大写

三种注释的方式:-- ,#,/**/

我们之后先讲查询。所以我们要先导入现有的数据表

导入数据表:

方法1:source 文件的全路径名 (只能用命令行执行,否则会报错)

(可以新建一个atguigudb.sql的文件,然后把下面的代码复制进去。使用cmd),导入数据。

SOURCE D:\atguigudb.sql;

SHOW tables

SELECT * FROM employees

这样我们就能看见这个表了

方法2:基于具体的图形工具可以直接导入数据"D:\atguigudb.sql"

  1. 将所有的源代码粘贴进新建的查询,然后运行代码就可以

  2. 然后导入到数据库(navicat和sqlyog都可以).

    /*
    SQLyog Ultimate v12.08 (64 bit)
    MySQL - 5.7.28-log : Database - atguigudb


    */

    /*!40101 SET NAMES utf8 */;

    /!40101 SET SQL_MODE=''/;

    /!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 /;
    /
    !40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 /;
    /
    !40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' /;
    /
    !40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 /;
    CREATE DATABASE /
    !32312 IF NOT EXISTS
    /atguigudb /*!40100 DEFAULT CHARACTER SET utf8 */;

    USE atguigudb;

    /*Table structure for table countries */

    DROP TABLE IF EXISTS countries;

    CREATE TABLE countries (
    country_id char(2) NOT NULL,
    country_name varchar(40) DEFAULT NULL,
    region_id int(11) DEFAULT NULL,
    PRIMARY KEY (country_id),
    KEY countr_reg_fk (region_id),
    CONSTRAINT countr_reg_fk FOREIGN KEY (region_id) REFERENCES regions (region_id)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

    /*Data for the table countries */

    insert into countries(country_id,country_name,region_id) values ('AR','Argentina',2),('AU','Australia',3),('BE','Belgium',1),('BR','Brazil',2),('CA','Canada',2),('CH','Switzerland',1),('CN','China',3),('DE','Germany',1),('DK','Denmark',1),('EG','Egypt',4),('FR','France',1),('HK','HongKong',3),('IL','Israel',4),('IN','India',3),('IT','Italy',1),('JP','Japan',3),('KW','Kuwait',4),('MX','Mexico',2),('NG','Nigeria',4),('NL','Netherlands',1),('SG','Singapore',3),('UK','United Kingdom',1),('US','United States of America',2),('ZM','Zambia',4),('ZW','Zimbabwe',4);

    /*Table structure for table departments */

    DROP TABLE IF EXISTS departments;

    CREATE TABLE departments (
    department_id int(4) NOT NULL DEFAULT '0',
    department_name varchar(30) NOT NULL,
    manager_id int(6) DEFAULT NULL,
    location_id int(4) DEFAULT NULL,
    PRIMARY KEY (department_id),
    UNIQUE KEY dept_id_pk (department_id),
    KEY dept_loc_fk (location_id),
    KEY dept_mgr_fk (manager_id),
    CONSTRAINT dept_loc_fk FOREIGN KEY (location_id) REFERENCES locations (location_id),
    CONSTRAINT dept_mgr_fk FOREIGN KEY (manager_id) REFERENCES employees (employee_id)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

    /*Data for the table departments */

    insert into departments(department_id,department_name,manager_id,location_id) values (10,'Administration',200,1700),(20,'Marketing',201,1800),(30,'Purchasing',114,1700),(40,'Human Resources',203,2400),(50,'Shipping',121,1500),(60,'IT',103,1400),(70,'Public Relations',204,2700),(80,'Sales',145,2500),(90,'Executive',100,1700),(100,'Finance',108,1700),(110,'Accounting',205,1700),(120,'Treasury',NULL,1700),(130,'Corporate Tax',NULL,1700),(140,'Control And Credit',NULL,1700),(150,'Shareholder Services',NULL,1700),(160,'Benefits',NULL,1700),(170,'Manufacturing',NULL,1700),(180,'Construction',NULL,1700),(190,'Contracting',NULL,1700),(200,'Operations',NULL,1700),(210,'IT Support',NULL,1700),(220,'NOC',NULL,1700),(230,'IT Helpdesk',NULL,1700),(240,'Government Sales',NULL,1700),(250,'Retail Sales',NULL,1700),(260,'Recruiting',NULL,1700),(270,'Payroll',NULL,1700);

    /*Table structure for table employees */

    DROP TABLE IF EXISTS employees;

    CREATE TABLE employees (
    employee_id int(6) NOT NULL DEFAULT '0',
    first_name varchar(20) DEFAULT NULL,
    last_name varchar(25) NOT NULL,
    email varchar(25) NOT NULL,
    phone_number varchar(20) DEFAULT NULL,
    hire_date date NOT NULL,
    job_id varchar(10) NOT NULL,
    salary double(8,2) DEFAULT NULL,
    commission_pct double(2,2) DEFAULT NULL,
    manager_id int(6) DEFAULT NULL,
    department_id int(4) DEFAULT NULL,
    PRIMARY KEY (employee_id),
    UNIQUE KEY emp_email_uk (email),
    UNIQUE KEY emp_emp_id_pk (employee_id),
    KEY emp_dept_fk (department_id),
    KEY emp_job_fk (job_id),
    KEY emp_manager_fk (manager_id),
    CONSTRAINT emp_dept_fk FOREIGN KEY (department_id) REFERENCES departments (department_id),
    CONSTRAINT emp_job_fk FOREIGN KEY (job_id) REFERENCES jobs (job_id),
    CONSTRAINT emp_manager_fk FOREIGN KEY (manager_id) REFERENCES employees (employee_id)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

    /*Data for the table employees */

    insert into employees(employee_id,first_name,last_name,email,phone_number,hire_date,job_id,salary,commission_pct,manager_id,department_id) values (100,'Steven','King','SKING','515.123.4567','1987-06-17','AD_PRES',24000.00,NULL,NULL,90),(101,'Neena','Kochhar','NKOCHHAR','515.123.4568','1989-09-21','AD_VP',17000.00,NULL,100,90),(102,'Lex','De Haan','LDEHAAN','515.123.4569','1993-01-13','AD_VP',17000.00,NULL,100,90),(103,'Alexander','Hunold','AHUNOLD','590.423.4567','1990-01-03','IT_PROG',9000.00,NULL,102,60),(104,'Bruce','Ernst','BERNST','590.423.4568','1991-05-21','IT_PROG',6000.00,NULL,103,60),(105,'David','Austin','DAUSTIN','590.423.4569','1997-06-25','IT_PROG',4800.00,NULL,103,60),(106,'Valli','Pataballa','VPATABAL','590.423.4560','1998-02-05','IT_PROG',4800.00,NULL,103,60),(107,'Diana','Lorentz','DLORENTZ','590.423.5567','1999-02-07','IT_PROG',4200.00,NULL,103,60),(108,'Nancy','Greenberg','NGREENBE','515.124.4569','1994-08-17','FI_MGR',12000.00,NULL,101,100),(109,'Daniel','Faviet','DFAVIET','515.124.4169','1994-08-16','FI_ACCOUNT',9000.00,NULL,108,100),(110,'John','Chen','JCHEN','515.124.4269','1997-09-28','FI_ACCOUNT',8200.00,NULL,108,100),(111,'Ismael','Sciarra','ISCIARRA','515.124.4369','1997-09-30','FI_ACCOUNT',7700.00,NULL,108,100),(112,'Jose Manuel','Urman','JMURMAN','515.124.4469','1998-03-07','FI_ACCOUNT',7800.00,NULL,108,100),(113,'Luis','Popp','LPOPP','515.124.4567','1999-12-07','FI_ACCOUNT',6900.00,NULL,108,100),(114,'Den','Raphaely','DRAPHEAL','515.127.4561','1994-12-07','PU_MAN',11000.00,NULL,100,30),(115,'Alexander','Khoo','AKHOO','515.127.4562','1995-05-18','PU_CLERK',3100.00,NULL,114,30),(116,'Shelli','Baida','SBAIDA','515.127.4563','1997-12-24','PU_CLERK',2900.00,NULL,114,30),(117,'Sigal','Tobias','STOBIAS','515.127.4564','1997-07-24','PU_CLERK',2800.00,NULL,114,30),(118,'Guy','Himuro','GHIMURO','515.127.4565','1998-11-15','PU_CLERK',2600.00,NULL,114,30),(119,'Karen','Colmenares','KCOLMENA','515.127.4566','1999-08-10','PU_CLERK',2500.00,NULL,114,30),(120,'Matthew','Weiss','MWEISS','650.123.1234','1996-07-18','ST_MAN',8000.00,NULL,100,50),(121,'Adam','Fripp','AFRIPP','650.123.2234','1997-04-10','ST_MAN',8200.00,NULL,100,50),(122,'Payam','Kaufling','PKAUFLIN','650.123.3234','1995-05-01','ST_MAN',7900.00,NULL,100,50),(123,'Shanta','Vollman','SVOLLMAN','650.123.4234','1997-10-10','ST_MAN',6500.00,NULL,100,50),(124,'Kevin','Mourgos','KMOURGOS','650.123.5234','1999-11-16','ST_MAN',5800.00,NULL,100,50),(125,'Julia','Nayer','JNAYER','650.124.1214','1997-07-16','ST_CLERK',3200.00,NULL,120,50),(126,'Irene','Mikkilineni','IMIKKILI','650.124.1224','1998-09-28','ST_CLERK',2700.00,NULL,120,50),(127,'James','Landry','JLANDRY','650.124.1334','1999-01-14','ST_CLERK',2400.00,NULL,120,50),(128,'Steven','Markle','SMARKLE','650.124.1434','2000-03-08','ST_CLERK',2200.00,NULL,120,50),(129,'Laura','Bissot','LBISSOT','650.124.5234','1997-08-20','ST_CLERK',3300.00,NULL,121,50),(130,'Mozhe','Atkinson','MATKINSO','650.124.6234','1997-10-30','ST_CLERK',2800.00,NULL,121,50),(131,'James','Marlow','JAMRLOW','650.124.7234','1997-02-16','ST_CLERK',2500.00,NULL,121,50),(132,'TJ','Olson','TJOLSON','650.124.8234','1999-04-10','ST_CLERK',2100.00,NULL,121,50),(133,'Jason','Mallin','JMALLIN','650.127.1934','1996-06-14','ST_CLERK',3300.00,NULL,122,50),(134,'Michael','Rogers','MROGERS','650.127.1834','1998-08-26','ST_CLERK',2900.00,NULL,122,50),(135,'Ki','Gee','KGEE','650.127.1734','1999-12-12','ST_CLERK',2400.00,NULL,122,50),(136,'Hazel','Philtanker','HPHILTAN','650.127.1634','2000-02-06','ST_CLERK',2200.00,NULL,122,50),(137,'Renske','Ladwig','RLADWIG','650.121.1234','1995-07-14','ST_CLERK',3600.00,NULL,123,50),(138,'Stephen','Stiles','SSTILES','650.121.2034','1997-10-26','ST_CLERK',3200.00,NULL,123,50),(139,'John','Seo','JSEO','650.121.2019','1998-02-12','ST_CLERK',2700.00,NULL,123,50),(140,'Joshua','Patel','JPATEL','650.121.1834','1998-04-06','ST_CLERK',2500.00,NULL,123,50),(141,'Trenna','Rajs','TRAJS','650.121.8009','1995-10-17','ST_CLERK',3500.00,NULL,124,50),(142,'Curtis','Davies','CDAVIES','650.121.2994','1997-01-29','ST_CLERK',3100.00,NULL,124,50),(143,'Randall','Matos','RMATOS','650.121.2874','1998-03-15','ST_CLERK',2600.00,NULL,124,50),(144,'Peter','Vargas','PVARGAS','650.121.2004','1998-07-09','ST_CLERK',2500.00,NULL,124,50),(145,'John','Russell','JRUSSEL','011.44.1344.429268','1996-10-01','SA_MAN',14000.00,0.40,100,80),(146,'Karen','Partners','KPARTNER','011.44.1344.467268','1997-01-05','SA_MAN',13500.00,0.30,100,80),(147,'Alberto','Errazuriz','AERRAZUR','011.44.1344.429278','1997-03-10','SA_MAN',12000.00,0.30,100,80),(148,'Gerald','Cambrault','GCAMBRAU','011.44.1344.619268','1999-10-15','SA_MAN',11000.00,0.30,100,80),(149,'Eleni','Zlotkey','EZLOTKEY','011.44.1344.429018','2000-01-29','SA_MAN',10500.00,0.20,100,80),(150,'Peter','Tucker','PTUCKER','011.44.1344.129268','1997-01-30','SA_REP',10000.00,0.30,145,80),(151,'David','Bernstein','DBERNSTE','011.44.1344.345268','1997-03-24','SA_REP',9500.00,0.25,145,80),(152,'Peter','Hall','PHALL','011.44.1344.478968','1997-08-20','SA_REP',9000.00,0.25,145,80),(153,'Christopher','Olsen','COLSEN','011.44.1344.498718','1998-03-30','SA_REP',8000.00,0.20,145,80),(154,'Nanette','Cambrault','NCAMBRAU','011.44.1344.987668','1998-12-09','SA_REP',7500.00,0.20,145,80),(155,'Oliver','Tuvault','OTUVAULT','011.44.1344.486508','1999-11-23','SA_REP',7000.00,0.15,145,80),(156,'Janette','King','JKING','011.44.1345.429268','1996-01-30','SA_REP',10000.00,0.35,146,80),(157,'Patrick','Sully','PSULLY','011.44.1345.929268','1996-03-04','SA_REP',9500.00,0.35,146,80),(158,'Allan','McEwen','AMCEWEN','011.44.1345.829268','1996-08-01','SA_REP',9000.00,0.35,146,80),(159,'Lindsey','Smith','LSMITH','011.44.1345.729268','1997-03-10','SA_REP',8000.00,0.30,146,80),(160,'Louise','Doran','LDORAN','011.44.1345.629268','1997-12-15','SA_REP',7500.00,0.30,146,80),(161,'Sarath','Sewall','SSEWALL','011.44.1345.529268','1998-11-03','SA_REP',7000.00,0.25,146,80),(162,'Clara','Vishney','CVISHNEY','011.44.1346.129268','1997-11-11','SA_REP',10500.00,0.25,147,80),(163,'Danielle','Greene','DGREENE','011.44.1346.229268','1999-03-19','SA_REP',9500.00,0.15,147,80),(164,'Mattea','Marvins','MMARVINS','011.44.1346.329268','2000-01-24','SA_REP',7200.00,0.10,147,80),(165,'David','Lee','DLEE','011.44.1346.529268','2000-02-23','SA_REP',6800.00,0.10,147,80),(166,'Sundar','Ande','SANDE','011.44.1346.629268','2000-03-24','SA_REP',6400.00,0.10,147,80),(167,'Amit','Banda','ABANDA','011.44.1346.729268','2000-04-21','SA_REP',6200.00,0.10,147,80),(168,'Lisa','Ozer','LOZER','011.44.1343.929268','1997-03-11','SA_REP',11500.00,0.25,148,80),(169,'Harrison','Bloom','HBLOOM','011.44.1343.829268','1998-03-23','SA_REP',10000.00,0.20,148,80),(170,'Tayler','Fox','TFOX','011.44.1343.729268','1998-01-24','SA_REP',9600.00,0.20,148,80),(171,'William','Smith','WSMITH','011.44.1343.629268','1999-02-23','SA_REP',7400.00,0.15,148,80),(172,'Elizabeth','Bates','EBATES','011.44.1343.529268','1999-03-24','SA_REP',7300.00,0.15,148,80),(173,'Sundita','Kumar','SKUMAR','011.44.1343.329268','2000-04-21','SA_REP',6100.00,0.10,148,80),(174,'Ellen','Abel','EABEL','011.44.1644.429267','1996-05-11','SA_REP',11000.00,0.30,149,80),(175,'Alyssa','Hutton','AHUTTON','011.44.1644.429266','1997-03-19','SA_REP',8800.00,0.25,149,80),(176,'Jonathon','Taylor','JTAYLOR','011.44.1644.429265','1998-03-24','SA_REP',8600.00,0.20,149,80),(177,'Jack','Livingston','JLIVINGS','011.44.1644.429264','1998-04-23','SA_REP',8400.00,0.20,149,80),(178,'Kimberely','Grant','KGRANT','011.44.1644.429263','1999-05-24','SA_REP',7000.00,0.15,149,NULL),(179,'Charles','Johnson','CJOHNSON','011.44.1644.429262','2000-01-04','SA_REP',6200.00,0.10,149,80),(180,'Winston','Taylor','WTAYLOR','650.507.9876','1998-01-24','SH_CLERK',3200.00,NULL,120,50),(181,'Jean','Fleaur','JFLEAUR','650.507.9877','1998-02-23','SH_CLERK',3100.00,NULL,120,50),(182,'Martha','Sullivan','MSULLIVA','650.507.9878','1999-06-21','SH_CLERK',2500.00,NULL,120,50),(183,'Girard','Geoni','GGEONI','650.507.9879','2000-02-03','SH_CLERK',2800.00,NULL,120,50),(184,'Nandita','Sarchand','NSARCHAN','650.509.1876','1996-01-27','SH_CLERK',4200.00,NULL,121,50),(185,'Alexis','Bull','ABULL','650.509.2876','1997-02-20','SH_CLERK',4100.00,NULL,121,50),(186,'Julia','Dellinger','JDELLING','650.509.3876','1998-06-24','SH_CLERK',3400.00,NULL,121,50),(187,'Anthony','Cabrio','ACABRIO','650.509.4876','1999-02-07','SH_CLERK',3000.00,NULL,121,50),(188,'Kelly','Chung','KCHUNG','650.505.1876','1997-06-14','SH_CLERK',3800.00,NULL,122,50),(189,'Jennifer','Dilly','JDILLY','650.505.2876','1997-08-13','SH_CLERK',3600.00,NULL,122,50),(190,'Timothy','Gates','TGATES','650.505.3876','1998-07-11','SH_CLERK',2900.00,NULL,122,50),(191,'Randall','Perkins','RPERKINS','650.505.4876','1999-12-19','SH_CLERK',2500.00,NULL,122,50),(192,'Sarah','Bell','SBELL','650.501.1876','1996-02-04','SH_CLERK',4000.00,NULL,123,50),(193,'Britney','Everett','BEVERETT','650.501.2876','1997-03-03','SH_CLERK',3900.00,NULL,123,50),(194,'Samuel','McCain','SMCCAIN','650.501.3876','1998-07-01','SH_CLERK',3200.00,NULL,123,50),(195,'Vance','Jones','VJONES','650.501.4876','1999-03-17','SH_CLERK',2800.00,NULL,123,50),(196,'Alana','Walsh','AWALSH','650.507.9811','1998-04-24','SH_CLERK',3100.00,NULL,124,50),(197,'Kevin','Feeney','KFEENEY','650.507.9822','1998-05-23','SH_CLERK',3000.00,NULL,124,50),(198,'Donald','OConnell','DOCONNEL','650.507.9833','1999-06-21','SH_CLERK',2600.00,NULL,124,50),(199,'Douglas','Grant','DGRANT','650.507.9844','2000-01-13','SH_CLERK',2600.00,NULL,124,50),(200,'Jennifer','Whalen','JWHALEN','515.123.4444','1987-09-17','AD_ASST',4400.00,NULL,101,10),(201,'Michael','Hartstein','MHARTSTE','515.123.5555','1996-02-17','MK_MAN',13000.00,NULL,100,20),(202,'Pat','Fay','PFAY','603.123.6666','1997-08-17','MK_REP',6000.00,NULL,201,20),(203,'Susan','Mavris','SMAVRIS','515.123.7777','1994-06-07','HR_REP',6500.00,NULL,101,40),(204,'Hermann','Baer','HBAER','515.123.8888','1994-06-07','PR_REP',10000.00,NULL,101,70),(205,'Shelley','Higgins','SHIGGINS','515.123.8080','1994-06-07','AC_MGR',12000.00,NULL,101,110),(206,'William','Gietz','WGIETZ','515.123.8181','1994-06-07','AC_ACCOUNT',8300.00,NULL,205,110);

    /*Table structure for table job_grades */

    DROP TABLE IF EXISTS job_grades;

    CREATE TABLE job_grades (
    grade_level varchar(3) DEFAULT NULL,
    lowest_sal int(11) DEFAULT NULL,
    highest_sal int(11) DEFAULT NULL
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

    /*Data for the table job_grades */

    insert into job_grades(grade_level,lowest_sal,highest_sal) values ('A',1000,2999),('B',3000,5999),('C',6000,9999),('D',10000,14999),('E',15000,24999),('F',25000,40000);

    /*Table structure for table job_history */

    DROP TABLE IF EXISTS job_history;

    CREATE TABLE job_history (
    employee_id int(6) NOT NULL,
    start_date date NOT NULL,
    end_date date NOT NULL,
    job_id varchar(10) NOT NULL,
    department_id int(4) DEFAULT NULL,
    PRIMARY KEY (employee_id,start_date),
    UNIQUE KEY jhist_emp_id_st_date_pk (employee_id,start_date),
    KEY jhist_job_fk (job_id),
    KEY jhist_dept_fk (department_id),
    CONSTRAINT jhist_dept_fk FOREIGN KEY (department_id) REFERENCES departments (department_id),
    CONSTRAINT jhist_emp_fk FOREIGN KEY (employee_id) REFERENCES employees (employee_id),
    CONSTRAINT jhist_job_fk FOREIGN KEY (job_id) REFERENCES jobs (job_id)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

    /*Data for the table job_history */

    insert into job_history(employee_id,start_date,end_date,job_id,department_id) values (101,'1989-09-21','1993-10-27','AC_ACCOUNT',110),(101,'1993-10-28','1997-03-15','AC_MGR',110),(102,'1993-01-13','1998-07-24','IT_PROG',60),(114,'1998-03-24','1999-12-31','ST_CLERK',50),(122,'1999-01-01','1999-12-31','ST_CLERK',50),(176,'1998-03-24','1998-12-31','SA_REP',80),(176,'1999-01-01','1999-12-31','SA_MAN',80),(200,'1987-09-17','1993-06-17','AD_ASST',90),(200,'1994-07-01','1998-12-31','AC_ACCOUNT',90),(201,'1996-02-17','1999-12-19','MK_REP',20);

    /*Table structure for table jobs */

    DROP TABLE IF EXISTS jobs;

    CREATE TABLE jobs (
    job_id varchar(10) NOT NULL DEFAULT '',
    job_title varchar(35) NOT NULL,
    min_salary int(6) DEFAULT NULL,
    max_salary int(6) DEFAULT NULL,
    PRIMARY KEY (job_id),
    UNIQUE KEY job_id_pk (job_id)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

    /*Data for the table jobs */

    insert into jobs(job_id,job_title,min_salary,max_salary) values ('AC_ACCOUNT','Public Accountant',4200,9000),('AC_MGR','Accounting Manager',8200,16000),('AD_ASST','Administration Assistant',3000,6000),('AD_PRES','President',20000,40000),('AD_VP','Administration Vice President',15000,30000),('FI_ACCOUNT','Accountant',4200,9000),('FI_MGR','Finance Manager',8200,16000),('HR_REP','Human Resources Representative',4000,9000),('IT_PROG','Programmer',4000,10000),('MK_MAN','Marketing Manager',9000,15000),('MK_REP','Marketing Representative',4000,9000),('PR_REP','Public Relations Representative',4500,10500),('PU_CLERK','Purchasing Clerk',2500,5500),('PU_MAN','Purchasing Manager',8000,15000),('SA_MAN','Sales Manager',10000,20000),('SA_REP','Sales Representative',6000,12000),('SH_CLERK','Shipping Clerk',2500,5500),('ST_CLERK','Stock Clerk',2000,5000),('ST_MAN','Stock Manager',5500,8500);

    /*Table structure for table locations */

    DROP TABLE IF EXISTS locations;

    CREATE TABLE locations (
    location_id int(4) NOT NULL DEFAULT '0',
    street_address varchar(40) DEFAULT NULL,
    postal_code varchar(12) DEFAULT NULL,
    city varchar(30) NOT NULL,
    state_province varchar(25) DEFAULT NULL,
    country_id char(2) DEFAULT NULL,
    PRIMARY KEY (location_id),
    UNIQUE KEY loc_id_pk (location_id),
    KEY loc_c_id_fk (country_id),
    CONSTRAINT loc_c_id_fk FOREIGN KEY (country_id) REFERENCES countries (country_id)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

    /*Data for the table locations */

    insert into locations(location_id,street_address,postal_code,city,state_province,country_id) values (1000,'1297 Via Cola di Rie','00989','Roma',NULL,'IT'),(1100,'93091 Calle della Testa','10934','Venice',NULL,'IT'),(1200,'2017 Shinjuku-ku','1689','Tokyo','Tokyo Prefecture','JP'),(1300,'9450 Kamiya-cho','6823','Hiroshima',NULL,'JP'),(1400,'2014 Jabberwocky Rd','26192','Southlake','Texas','US'),(1500,'2011 Interiors Blvd','99236','South San Francisco','California','US'),(1600,'2007 Zagora St','50090','South Brunswick','New Jersey','US'),(1700,'2004 Charade Rd','98199','Seattle','Washington','US'),(1800,'147 Spadina Ave','M5V 2L7','Toronto','Ontario','CA'),(1900,'6092 Boxwood St','YSW 9T2','Whitehorse','Yukon','CA'),(2000,'40-5-12 Laogianggen','190518','Beijing',NULL,'CN'),(2100,'1298 Vileparle (E)','490231','Bombay','Maharashtra','IN'),(2200,'12-98 Victoria Street','2901','Sydney','New South Wales','AU'),(2300,'198 Clementi North','540198','Singapore',NULL,'SG'),(2400,'8204 Arthur St',NULL,'London',NULL,'UK'),(2500,'Magdalen Centre, The Oxford Science Park','OX9 9ZB','Oxford','Oxford','UK'),(2600,'9702 Chester Road','09629850293','Stretford','Manchester','UK'),(2700,'Schwanthalerstr. 7031','80925','Munich','Bavaria','DE'),(2800,'Rua Frei Caneca 1360 ','01307-002','Sao Paulo','Sao Paulo','BR'),(2900,'20 Rue des Corps-Saints','1730','Geneva','Geneve','CH'),(3000,'Murtenstrasse 921','3095','Bern','BE','CH'),(3100,'Pieter Breughelstraat 837','3029SK','Utrecht','Utrecht','NL'),(3200,'Mariano Escobedo 9991','11932','Mexico City','Distrito Federal,','MX');

    /*Table structure for table order */

    DROP TABLE IF EXISTS order;

    CREATE TABLE order (
    order_id int(11) DEFAULT NULL,
    order_name varchar(15) DEFAULT NULL
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

    /*Data for the table order */

    insert into order(order_id,order_name) values (1,'shkstart'),(2,'tomcat'),(3,'dubbo');

    /*Table structure for table regions */

    DROP TABLE IF EXISTS regions;

    CREATE TABLE regions (
    region_id int(11) NOT NULL,
    region_name varchar(25) DEFAULT NULL,
    PRIMARY KEY (region_id),
    UNIQUE KEY reg_id_pk (region_id)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

    /*Data for the table regions */

    insert into regions(region_id,region_name) values (1,'Europe'),(2,'Americas'),(3,'Asia'),(4,'Middle East and Africa');

    /*Table structure for table emp_details_view */

    DROP TABLE IF EXISTS emp_details_view;

    /*!50001 DROP VIEW IF EXISTS emp_details_view /;
    /
    !50001 DROP TABLE IF EXISTS emp_details_view */;

    /!50001 CREATE TABLE emp_details_view(
    employee_id int(6) ,
    job_id varchar(10) ,
    manager_id int(6) ,
    department_id int(4) ,
    location_id int(4) ,
    country_id char(2) ,
    first_name varchar(20) ,
    last_name varchar(25) ,
    salary double(8,2) ,
    commission_pct double(2,2) ,
    department_name varchar(30) ,
    job_title varchar(35) ,
    city varchar(30) ,
    state_province varchar(25) ,
    country_name varchar(40) ,
    region_name varchar(25)
    )
    /;

    /*View structure for view emp_details_view */

    /*!50001 DROP TABLE IF EXISTS emp_details_view /;
    /
    !50001 DROP VIEW IF EXISTS emp_details_view */;

    /*!50001 CREATE ALGORITHM=UNDEFINED DEFINER=root@localhost SQL SECURITY DEFINER VIEW emp_details_view AS select e.employee_id AS employee_id,e.job_id AS job_id,e.manager_id AS manager_id,e.department_id AS department_id,d.location_id AS location_id,l.country_id AS country_id,e.first_name AS first_name,e.last_name AS last_name,e.salary AS salary,e.commission_pct AS commission_pct,d.department_name AS department_name,j.job_title AS job_title,l.city AS city,l.state_province AS state_province,c.country_name AS country_name,r.region_name AS region_name from (((((employees e join departments d) join jobs j) join locations l) join countries c) join regions r) where ((e.department_id = d.department_id) and (d.location_id = l.location_id) and (l.country_id = c.country_id) and (c.region_id = r.region_id) and (j.job_id = e.job_id)) */;

    /*!40101 SET SQL_MODE=@OLD_SQL_MODE /;
    /
    !40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS /;
    /
    !40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS /;
    /
    !40111 SET SQL_NOTES=@OLD_SQL_NOTES */;


                             版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
    

    原文链接:https://blog.csdn.net/yang2330648064/article/details/124205713

相关推荐
夜泉_ly1 小时前
MySQL -安装与初识
数据库·mysql
qq_529835353 小时前
对计算机中缓存的理解和使用Redis作为缓存
数据库·redis·缓存
月光水岸New5 小时前
Ubuntu 中建的mysql数据库使用Navicat for MySQL连接不上
数据库·mysql·ubuntu
狄加山6755 小时前
数据库基础1
数据库
我爱松子鱼5 小时前
mysql之规则优化器RBO
数据库·mysql
chengooooooo5 小时前
苍穹外卖day8 地址上传 用户下单 订单支付
java·服务器·数据库
Rverdoser6 小时前
【SQL】多表查询案例
数据库·sql
Galeoto6 小时前
how to export a table in sqlite, and import into another
数据库·sqlite
人间打气筒(Ada)7 小时前
MySQL主从架构
服务器·数据库·mysql
leegong231117 小时前
学习PostgreSQL专家认证
数据库·学习·postgresql