4.mysql数据库创建,表中创建模具模板脚本,mysql_SQL99标准连接查询(恩,外部连接,全外连接,交叉连接)...
mysql數(shù)據(jù)庫(kù)創(chuàng)建,表創(chuàng)建模等模板腳本
-- 用root用戶登錄系統(tǒng),運(yùn)行腳本
?
-- 創(chuàng)建數(shù)據(jù)庫(kù)
create database mydb61 character set utf8 ;
?
-- 選擇數(shù)據(jù)庫(kù)
use mydb61;
?
-- 添加 dbuser1 用戶
-- ??? 創(chuàng)建用戶‘dbuser61’password為 ‘dbuser61’擁有操作數(shù)據(jù)庫(kù)mydb61的全部權(quán)限
???????? GRANT ALL ON mydb61.* TO dbuser61 IDENTIFIED BY "dbuser61";
???????? flush privileges;
?
-- grant select,insert,update,delete on mydb61.* to dbuser61@localhost identified by "dbuser61";
-- grant select,insert,update,delete on mydb61.* to dbuser61@'%' identified by "dbuser61";
?
-- 創(chuàng)建表
?
-- 創(chuàng)建部門表 并賦值
DROP TABLE IF EXISTS `dept`;
CREATE TABLE `dept`(
???????? `deptno`???? int(2) PRIMARY KEY,
??????? `dname`?????? varchar(14) NOT NULL,
??????? `loc`??????? varchar(13)
)DEFAULT CHARSET=utf8;
?
INSERT INTO dept VALUES(10, 'ACCOUNTING', 'NEW YORK');
INSERT INTO dept VALUES(20, 'RESEARCH', 'DALLAS');
INSERT INTO dept VALUES(30, 'SALES', 'CHICAGO');
INSERT INTO dept VALUES(40, 'OPERATIONS', 'BOSTON');
?
commit;
?
-- 注意mysql的sql語(yǔ)言 約束假設(shè)起名字,須要單獨(dú)寫(xiě)在表后面
-- 創(chuàng)建員工表 并賦值
DROP TABLE IF EXISTS `emp`;
CREATE TABLE `emp`(
???????? -- `empno`?????????? int(4) constraint emp_empno_pk PRIMARY KEY,
???????? `empno`?????????? int(4) PRIMARY KEY,
???????? `ename`????????? ??????? varchar(10) NOT NULL,
???????? `job`??????????? varchar(9),
???????? `mgr`??????????? ??????? int(4),
???????? `hiredate`?????? ? DATE,
???????? `sal`??????????? int ,
???????? `comm`?????????? ?????? int,
???????? `deptno`??????? ?? int(2) ,
???????? constraint emp_deptno_fk? foreign key(deptno) references dept(deptno)
)DEFAULT CHARSET=utf8;
?
--創(chuàng)建索引
-- CREATE? INDEX MYSCOTT.IX_CAtbAuditOperInfo_OT ON MYSCOTT.EMP(ENAME) TABLESPACE ts_myscott2;
create index emp_ename_index on emp(ename);
?
--注意 日期格式不一樣
INSERT INTO emp VALUES(7369, 'SMITH', 'CLERK', 7902, '1980-12-17', 800, NULL, 20);
INSERT INTO emp VALUES(7499, 'ALLEN', 'SALESMAN', 7698, '1981-02-20', 1600, 300, 30);
-- INSERT INTO emp(empno, ename, job, mgr, hiredate, sal,? deptno) VALUES(7499, 'ALLEN', 'SALESMAN', 7698, '1981-02-20', 1600, 30);
INSERT INTO emp VALUES(7521, 'WARD', 'SALESMAN', 7698, '1981-02-22', 1250, 500, 30);???????????
INSERT INTO emp VALUES(7566, 'JONES', 'MANAGER', 7839, '1981-04-02', 2975, NULL, 20);
INSERT INTO emp VALUES(7654, 'MARTIN', 'SALESMAN', 7698, '1981-09-28', 1250, 1400, 30);
INSERT INTO emp VALUES(7698, 'BLAKE', 'MANAGER', 7839, '1981-05-01', 2850, NULL, 30);
???????????
INSERT INTO emp VALUES(7782, 'CLARK', 'MANAGER', 7839, '1981-06-09', 2450, NULL, 10);
INSERT INTO emp VALUES(7788, 'SCOTT', 'ANALYST', 7566, '1987-04-19', 3000, NULL, 20);
INSERT INTO emp VALUES(7839, 'KING', 'PRESIDENT', NULL, '1981-11-17', 5000, NULL, 10);
???????????
INSERT INTO emp VALUES(7844, 'TURNER', 'SALESMAN', 7698, '1981-09-08', 1500, 0, 30);
INSERT INTO emp VALUES(7876, 'ADAMS', 'CLERK', 7788, '1987-05-23', 1100, NULL, 20);
INSERT INTO emp VALUES(7900, 'JAMES', 'CLERK', 7698, '1981-12-03', 950, NULL, 30);
???????????
INSERT INTO emp VALUES(7902, 'FORD', 'ANALYST', 7566, '1981-12-03', 3000, NULL, 20);
INSERT INTO emp VALUES(7934, 'MILLER', 'CLERK', 7782, '1982-01-23', 1300, NULL, 10);
commit;
?
-- 創(chuàng)建工資級(jí)別表 并賦值
DROP TABLE IF EXISTS `salgrade`;
CREATE TABLE `salgrade`(
??????? `grade`??????? ???? int,
??????? `losal`?????????? int,
??????? `hisal`?????????? int
)DEFAULT CHARSET=utf8;
?
INSERT INTO salgrade VALUES(1, 700, 1200);
INSERT INTO salgrade VALUES(2, 1201, 1400);
INSERT INTO salgrade VALUES(3, 1401, 2000);
INSERT INTO salgrade VALUES(4, 2001, 3000);
INSERT INTO salgrade VALUES(5, 3001, 9999);
commit;
?
--創(chuàng)建獎(jiǎng)金表
DROP TABLE IF EXISTS `bonus`;
CREATE TABLE bonus(
???????? `ename`????? VARCHAR(10),
??????? `job`?????? VARCHAR(9),
??????? `sal`????? ????? int,
??????? `comm`????? int
)DEFAULT CHARSET=utf8;
?
commit;
?
mysql_SQL99標(biāo)準(zhǔn)的連接查詢(內(nèi)連接。外連接,滿外連接,交叉連接)
使用SQL99標(biāo)準(zhǔn)的連接查詢(JOIN..ON..)
???????? 內(nèi)連接(innerjoin等價(jià)于oracle中的“逗號(hào)”,以下的on替換掉了where)
?????????????????? 僅僅返回滿足連接條件的數(shù)據(jù)(兩邊都有的才顯示)。
Mysql
Oracle
???????? select e.*, d.*
?????????????????? from emp e
?????????????????? inner join dept d
?????????????????? on e.deptno=d.deptno
select e.*, d.*
?????????????????? from emp e, dept d
?????????????????? where e.deptno=d.deptno;
-- 也能夠省略innerkeyword。
?
???????? 左外連接
?????????????????? 左邊有值才顯示。
Mysql
Oracle
select e.*, d.*
?????????????????? from emp e
?????????????????? left outer join dept d
?????????????????? on e.deptno=d.deptno
select e.*, d.*
?????????????????? from emp e
?????????????????? , dept d
?????????????????? where e.deptno=d.deptno(+)
-- 也能夠省略outerkeyword
?
???????? 右外連接
?????????????????? 右邊邊有值才顯示。
Mysql
Oracle
select e.*, d.*
?????????????????? from emp e???????????????
?????????????????? right outer join dept d
?????????????????? on e.deptno=d.deptno
select e.*, d.*
?????????????????? from emp e
?????????????????? , dept d
?????????????????? where e.deptno(+)=d.deptno
-- 也能夠省略outerkeyword
?
???????? 滿外聯(lián)接
?????????????????? 任一邊有值就會(huì)顯示。
?????????????????? selecte.*, d.*
?????????????????? fromemp e
?????????????????? fullouter join dept d?????????????????
?????????????????? one.deptno=d.deptno
?????????????????? --也能夠省略outerkeyword
????????
???????? 交叉連接:
?????????????????? 叉集,就是笛卡爾積
?????????????????? selecte.*, d.*
?????????????????? fromemp e
?????????????????? crossjoin dept d
?????????????????? --沒(méi)有連接條件
?
eg:查詢員工信息,員工號(hào),姓名,月薪,部門名稱
???????? select e.empno, e.ename, e.sal, d.dname
???????? from emp e, dept d
???????? where e.deptno=d.deptno
?
???????? select e.empno, e.ename, e.sal, d.dname
???????? from emp e inner join dept d? -- 逗號(hào)join
??????? on e.deptno=d.deptno??? -- where on
?
//顯示全部部門信息
//顯示各個(gè)部門的部門人數(shù)
???????? select d.deptno 部門號(hào), d.dname 部門名稱,count(e.empno) 人數(shù)
???????? from emp e, dept d
???????? where e.deptno(+)=d.deptno
???????? group by d.deptno, d.dname
?
???????? select d.deptno 部門號(hào), d.dname 部門名稱,count(e.empno) 人數(shù)
???????? from emp e right outer join dept d
???????? on e.deptno=d.deptno
???????? group by d.deptno, d.dname
?
自連接: -- 查詢員工信息 ,老板信息
???????? 顯示:?? ****的老板是****
select e.ename , b.ename
???????? from emp e, emp b
???????? where e.mgr=b.empno
?
select concat ( concat(e.ename, '的老板是'), b.ename)
???????? from emp e, emp b
???????? where e.mgr=b.empno
?
select e.ename, ifnull(b.ename,'他自己')
???????? from emp e left outer join emp b
???????? on e.mgr=b.empno
?
select concat ( concat(e.ename, '的老板是'), ifnull(b.ename,'他自己'))
???????? from emp e left outer join emp b
???????? on e.mgr=b.empno
+------------------------------------------------------------------------+
| concat ( concat(e.ename, '的老板是'), ifnull(b.ename,'他自己'))??????? |
+------------------------------------------------------------------------+
| SMITH的老板是FORD??????????????????????????????????????????????? ??????|
| ALLEN的老板是BLAKE???????????????????????????????????????????????????? |
| WARD的老板是BLAKE????????????????????????????????????????????????????? |
| JONES的老板是KING????????????????????????????????????????????????????? |
| MARTIN的老板是BLAKE????????????????? ??????????????????????????????????|
| BLAKE的老板是KING????????????????????????????????????????????????????? |
| CLARK的老板是KING????????????????????????????????????????????????????? |
| SCOTT的老板是JONES???????????????????????????????????????????????????? |
| KING的老板是他自己???????????????????????????????????????????????????? |
| TURNER的老板是BLAKE??????????????????????????????????????????????????? |
| ADAMS的老板是SCOTT???????????????????????????????????????????????????? |
| JAMES的老板是BLAKE??????????????????????????????????? ?????????????????|
| FORD的老板是JONES????????????????????????????????????????????????????? |
| MILLER的老板是CLARK??????????????????????????????????????????????????? |
+------------------------------------------------------------------------+
?
aaaaddd??? ccccbbbbbb
aaaaddd??? ccccbbbbbb
aaaaddd??? ccccbbbbbb
aaaaddd??? ccccbbbbbb
?
方法:按住alt鍵以后,鼠標(biāo)拖動(dòng),選中一個(gè)矩形區(qū)域
?
?
總結(jié)
以上是生活随笔為你收集整理的4.mysql数据库创建,表中创建模具模板脚本,mysql_SQL99标准连接查询(恩,外部连接,全外连接,交叉连接)...的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Cassandra HBase和Mong
- 下一篇: 大数据测试之hadoop命令大全 2