emp

Oarcle之视图

匿名 (未验证) 提交于 2019-12-02 23:26:52
============================================================================================================================================ as select ename ,sal,job,dname,from emp,dept where emp.deptno = dept.deptno ; create view v_emp_dept_tem as create or replace view v_emp as select dname, grade as select dname, grade

16 数据库 pymysql SQLAlchemy

匿名 (未验证) 提交于 2019-12-02 22:06:11
表中一列或多列组成的唯一key 主键往往为长整型 且非空自增 由查询语句生成的虚表,依然可以进行CRUD操作 将复杂SQL语句定义为视图,可 简化操作 视图可以只显示真实表的部分列或计算后结果,可实现 数据隐藏 子表加外键引用主表 一般与主键配合使用 全称Structured Query Language 结构化查询语言 所有主流关系型数据库以及大部分NoSQL都支持SQL SQL语句分类 : 名称 含义 SQL语句 DDL 数据定义语言,负责数据库定义 数据库对象定义 CREATE ALTER DROP DML 数据操作语言,负责数据库对象的操作 CRUD(增删改查) DCL 数据控制语言,负责数据库访问权限控制 GRANT REVOKE TCL 事务控制语言,负责处理ACID事务 COMMIT ROLLBACK - DCL GRANT授权 REVOKE撤销 - *为通配符,代表任意库或任意表 - %为通配符,代表任意host或ip地址段 GRANT ALL ON database .* TO 'login_name' @ '192.168.%' IDENTIFIED BY 'password' ; REVOKE ALL ON *.* FROM login_name DML 聚合函数 聚合函数 含义 COUNT(expr) 返回记录数目,若指定列,则返回非NULL值的行数

MySQL 创建联结

匿名 (未验证) 提交于 2019-12-02 22:06:11
寤鸿〃 CREATE DATABASE db0206 ; USE db0206 ; CREATE TABLE `db0206` . `tbl_dept` ( `id` INT ( 11 ) NOT NULL AUTO_INCREMENT , `deptName` VARCHAR ( 30 ), `locAdd` VARCHAR ( 40 ), PRIMARY KEY ( `id` ) ) ENGINE = INNODB CHARSET = utf8 ; CREATE TABLE `db0206` . `tbl_emp` ( `id` INT ( 11 ) NOT NULL AUTO_INCREMENT , `name` VARCHAR ( 20 ), `deptId` INT ( 11 ), PRIMARY KEY ( `id` ), FOREIGN KEY ( `deptId` ) REFERENCES `db0206` . `tb_dept` ( `id` ) ) ENGINE = INNODB CHARSET = utf8 ; /*插入数据*/ INSERT INTO tbl_dept ( deptName , locAdd ) VALUES ( 'RD' , 11 ); INSERT INTO tbl_dept ( deptName , locAdd ) VALUES (

MySQL之多表查询学习

匿名 (未验证) 提交于 2019-12-02 22:06:11
select * from emp,dept,(select * from emp) where group by having order by limit 多表查询 1.分类: **合并结果集 **连接查询 **子查询 *合并结果集 ・要求被合并的表中,列的类型和列的数量相同 ・UNION,去除重复行 *UNION ALL,不去除重复行。 SELECT * FROM cd UNION ALL SELECT * FROM ab; 连接查询: 1.分类 *内连接 *外连接 >左外连接 >右外连接 >全外连接(MySQL不支持) *自然连接(属于一种简化方式) 2.内连接 *方言:SELECT * FROM 表1 别名1 ,表2 别名 2 WHERE 别名1,xx=别名2.xx *标准:SELECT * FROM 表1 别名1 INNER JOIN 表2 别名2 ON 别名1.xx=别名2.xx *自然:SELECT * FROM 表1 别名1 NATURAL JOIN 表2 别名2 *内连接查询出的所以记录都满足条件。 3.外连接 *左外:SELECT * FROM 表1 别名1 LEFT OUTER JOIN 表2 别名2 ON 别名1.xx=别名2.xx >左表记录无论是否满足条件都会查询出来,而右表只有满足条件才能出来,左表中不满足条件的记录,右表部分都为NULL *左外自然

mysql 区间修饰条件 与视图

匿名 (未验证) 提交于 2019-12-02 22:06:11
Ŀ¼ salary < all(3, 6, 9) 代表salary 筛选出必须小于区间中全部数据的最小的数据, 反之则是大于最大:大于最大,小于最小 0salary < any(3, 6, 9) 代表salary 筛选出只要小于区间中任意一种情况 , # 语法规则 # where id in (1, 2, 3) => id是1或2或3 # where id not in (1, 2, 3) => id不是1,2,3 # where salary < all(3, 6, 9) => salary必须小于所有情况(小于最小) # where salary > all(3, 6, 9) => salary必须大于所有情况(大于最大) # where salary < any(3, 6, 9) => salary只要小于一种情况(小于最大) # where salary > any(3, 6, 9) => salary只要大于一种情况(大于最小) in < > () # 案例 select * from emp where salary < all(select salary from emp where id>11); # 数据依赖:单表emp """ 1)视图是存在内存中的临时表 2)视图的创建依赖select语句,所有就是select语句操作的结果形参的表 3

MySQL-完整性约束

匿名 (未验证) 提交于 2019-12-02 22:06:11
完整性约束,保证关系型数据库中数据的准确性和一致性。数据完整性通过引用完整性实现,引用完整性包含了很多类型 主键约束 create table test_tbl( id integer(10) NOT NULL PRIMARY KEY, emp_name VARCHAR(10) NOT NULL); create table test_tbl( id integer(10) NOT NULL, emp_name VARCHAR(10) NOT NULL, PRIMARY KEY (ID)); 唯一性约束 表中某个字段的值在每条记录中是唯一的,类似于主键。对某个字段设置了主键,也可以对另外的字段设置唯一性约束 create table test_tbl( id integer(10) NOT NULL primary key, emp_name VARCHAR(10) NOT NULL UNIQUE); 外键约束 保证表与表之间引用的完整性,一个被定义为外键的字段用于引用另一个表里的主键 create table test_tbl( id integer(10) NOT NULL primary key, emp_name VARCHAR(10) NOT NULL UNIQUE), CONSTRAINT ID_FK FOREIGN KEY (ID) REFERENCES

doraemon的python 数据库2和pymysql

匿名 (未验证) 提交于 2019-12-02 22:06:11
##### 10.3.2.2 约束 约束: - not null 某一个字段不能为空 - default 给某个字段设置默认值 - unique 设置一个字段不能重复 - auto_increment 设置某一个int类型的字段 自动增加 - primary key 设置一个字段非空且不能重复 - 外键关联的那张表中的字段必须unique - 级联操作:on update cascade on delete cascade - foreign key 外键 - unsigned 只能是正数 not null和default: ```python create table t1( id int not null, name char(8) not null, gender enum('male','female') not null default 'male' ); ``` unique: ```python create table t2( id int unique, username char(4) unique, password char(8) not null ); ``` 联合唯一 ```python create table t3( in int, ip char(15), server char(15), port int, unique(ip,port) );

MySQL多行函数

匿名 (未验证) 提交于 2019-12-02 22:02:20
单行函数 :一行得一个结果 count() :统计行的个数 -- 查询20号部分的员工的总薪水 select round(avg(sal))as 平均薪水 from emp where deptno=20; -- 想计算入职时间最晚的与入职之间最早的时间差是多少年 select DATEDIFF( max(hiredate),min(hiredate))/365 from emp; select max(sal) ,min(sal) from emp; -- select count(1) from emp where deptno=20; -- 也可以,count(常量) select * from emp where deptno=20; select * from emp; -- 查询20号部分的员工的总薪水 select round(avg(sal))as 平均薪水 from emp where deptno=20; -- 想计算入职时间最晚的与入职之间最早的时间差是多少年 select DATEDIFF( max(hiredate),min(hiredate))/365 from emp; select max(sal) ,min(sal) from emp; -- select count(1) from emp where deptno=20; -- 也可以

MySQL集合查询

匿名 (未验证) 提交于 2019-12-02 22:02:20
-- 求emp表ename中含’A‘或含有‘M’ UNION all 使用如下语句进行替换呢 select * from emp where ename like'%A%' or ename like '%M%'; --交集 select * from emp where ename like '%A%' intersect select * from emp where ename like '%M%'; --使用如下语句替代呢 select * from emp where ename like '%A%' and ename like '%M%'; minus select deptno from emp; --可以使用如下语句进行替换 select deptno from dept where deptno not in (select distinct deptno from emp where deptno is not null); 文章来源: https://blog.csdn.net/HanYueQian/article/details/96561191

MySQL分页查询

匿名 (未验证) 提交于 2019-12-02 22:02:20
--将以上查询作为一张表 mysql的分页 select * from emp order by sal desc limit 3;--第一页,每页显示3条 select * from emp order by sal desc limit 4,3; select * from emp order by sal desc limit 3,3; -- limit用法如下 -- 第一个参数是指要开始的地方,第二个参数是指每页显示多少条数据 -- 第一页用0表示 select * from emp order by sal desc ; select * from emp order by sal desc limit 0,4; select * from emp order by sal desc limit 1,4; 文章来源: https://blog.csdn.net/HanYueQian/article/details/96561224