DataBase-MySQL-PGSQL

2017-09-04  本文已影响45人  燕京博士

DataBase-MySQL-PGSQL

image.png

rm -f *.backup

pg_dump -h localhost -p 5432 -U grp_dev -W -F c -b -v -f "grp_dev.backup" grp_dev
pg_dump -h localhost -p 5432 -U pcm_dev -W -F c -b -v -f "pcm_dev.backup" pcm_dev
pg_dump -h localhost -p 5432 -U pms_dev -W -F c -b -v -f "pms_dev.backup" pms_dev
pg_dump -h localhost -p 5432 -U cms_dev -W -F c -b -v -f "cms_dev.backup" cms_dev
pg_dump -h localhost -p 5432 -U stat_dev -W -F c -b -v -f "stat_dev.backup" stat_dev
pg_dump -s -h localhost -p 5432 -U log_dev -W -F c -b -v -f "log_dev.backup" log_dev
pg_dump -h localhost -p 5432 -U platform -W -F c -b -v -f "jw_platform.backup" jw_platform
pg_dump -h localhost -p 5432 -U necsl -W -F c -b -v -f "jw_database.backup" jw_database
pg_dump -h localhost -p 5432 -U necsl -W -F c -b -v -f "jw_reportools.backup" jw_reportools

project = SAAS AND issuetype = Bug AND issuetype != 需求(慧云) AND status in (Open, Reopened, Fixing, Resolve) AND component in (EMPTY, AR-应收, CMM-共同参数, CRM-个人法人, CRS-中央Order, FIN-收银, HK-客房, POS-餐饮, RPT-报表, RSV-预订) AND 慧云BUG等级 = 紧急 ORDER BY summary ASC, priority DESC, updated DESC

project = SAAS AND issuetype = Bug AND issuetype != 需求(慧云) AND status in (Open, Reopened, Fixing, Resolve) AND component in (EMPTY, AR-应收, CMM-共同参数, CRM-个人法人, CRS-中央Order, FIN-收银, HK-客房, POS-餐饮, RPT-报表, RSV-预订) AND BUG等级 in (2级, 3级, 4级, 5级) AND created >= -5d OR 慧云BUG等级 = 普通 AND issuetype != 需求(慧云) AND created >= -7d ORDER BY summary ASC, priority DESC, updated DESC

project = SAAS AND issuetype = Bug AND issuetype != 需求(慧云) AND status in (Open, Reopened, Fixing, Resolve) AND component in (EMPTY, AR-应收, CMM-共同参数, CRM-个人法人, CRS-中央Order, FIN-收银, HK-客房, POS-餐饮, RPT-报表, RSV-预订) AND BUG等级 in (2级, 3级, 4级, 5级) AND created >= -5d OR 慧云BUG等级 = 普通 AND issuetype != 需求(慧云) AND status in (Open, Reopened, Fixing, Resolve) AND component in (EMPTY, AR-应收, CMM-共同参数, CRM-个人法人, CRS-中央Order, FIN-收银, HK-客房, POS-餐饮, RPT-报表, RSV-预订) AND created >= -5d ORDER BY summary ASC, priority DESC, updated DESC

project = SAAS AND issuetype = Bug AND issuetype != 需求(慧云) AND status in (Open, Reopened, Fixing, Resolve) AND component in (EMPTY, AR-应收, CMM-共同参数, CRM-个人法人, CRS-中央Order, FIN-收银, HK-客房, POS-餐饮, RPT-报表, RSV-预订) AND BUG等级 = 1级 AND created >= -5d OR project = SAAS AND issuetype = Bug AND 慧云BUG等级 = 紧急 AND issuetype != 需求(慧云) AND status in (Open, Reopened, Fixing, Resolve) AND component in (EMPTY, AR-应收, CMM-共同参数, CRM-个人法人, CRS-中央Order, FIN-收银, HK-客房, POS-餐饮, RPT-报表, RSV-预订) AND created >= -5d ORDER BY summary ASC, priority DESC, updated DESC

返回主页 violet_king

随笔 - 4 文章 - 0 评论 - 0

mysql总结思维导图

WEB06-MYSQL MYSQL的数据库的概述 什么是数据库:就是一个文件系统,通过SQL访问 常见关系型数据库:mysql,Oracle,SQLServer... SQL对数据库和表操作 对数据库进行CRUD的操作 对表进行CRUD的操作 day07-mysql回顾 SQL的概述 SQL:结构化的查询语言. 分类: DDL:数据定义语言 create,alter,drop... DML:数据操纵语言 update,insert,delete DCL:数据控制语言 grant,if.. DQL:数据查询语言 select 特点: 非过程性语言: 一条语句就会有一个运行的结果 SQL对数据库和表操作 对数据库进行CRUD的操作 创建数据库 create database 数据库名称 [character set 字符集 collate 字符集校对]; 查看数据库 查看数据库服务器中所有的数据库: show databases; 查看某个数据库的定义信息. show create database 数据库名; 查看当前正在使用的数据库信息. select database(); 删除数据库 删除数据库: drop database 数据库名; 修改数据库 修改数据库修改的是的数据库的字符集和校对规则. alter database 数据库名 character set 新字符集 collate 校对规则; 切换数据库 use 数据库名称; 对表进行CRUD的操作 创建表 语法: create table 表名 ( 字段名 类型(长度) 约束, 字段名 类型(长度) 约束, 字段名 类型(长度) 约束); 数据类型: Java类型 MySQL byte/short/int/long tinyint/smallint/int/bigint String char/varchar 区别? char是固定长度的字符串,varchar可变长度的字符串. char(8) 和 varchar(8) 如果插入一个字符串hello 插入到char 那么 插入hello .插入到varchar中 插入hello float float double double boolean bit Date date/time/datetime/timestamp datetime和timestamp都是既有日期又有时间的日期类型 区别? datetime需要使用外部传入的日期.如果没传这个值就是Null. timestamp会使用系统当前的时间作为这个值的默认值. ***** MYSQL中除了字符串类型需要设置长度其他的类型都有默认长度. 文件 文本文件 Text 二级制文件 BLOB ***** Oralce使用CLOB/BLOB 对应文本文件/二进制文件 约束: 单表约束: 主键约束:primary key (默认就是唯一非空的) 唯一约束:unique 非空约束:not null 表的查看 查看数据库中有哪些表: show tables; 查看表结构: desc 表名; 表的删除 drop table 表名; 表的修改 修改表添加列: alter table 表名 add 列名 类型(长度) 约束; alter table employee add image varchar(50); 修改表删除列: alter table 表名 drop 列名; alter table employee drop job; 修改表的列的类型长度及约束: alter table 表名 modify 列名 类型(长度) 约束; alter table employee modify image varchar(80) not null; 修改表的列名: alter table 表名 change 旧列名 新列名 类型(长度) 约束; alter table employee change image eimage varchar(60); 修改表名: rename table 旧表名 to 新表名; rename table employee to user; 修改表的字符集: alter table 表名character set 字符集; alter table user character set gbk; MYSQL的数据库的概述 什么是数据库:就是一个文件系统,这个文件必须通过标准的SQL访问 关系型的数据库存放的都是实体之间的关系. 常见关系型数据库 MySQL :免费的小型的数据库,现在被Oracle收购. Oracle :Oracle公司收费的大型的数据库. SQLServer :微软公司收费中型的数据库. DB2 :IBM公司收费的大型的数据库. SyBase :SyBase公司收费的数据库.已经被淘汰.PowerDesigner数据建模的工具. SQLite :小型的嵌入式的数据库. ***** Java程序中经常使用的数据库 MySQL Oracle SQL对单表记录操作 day08-mysql表操作回顾 SQL对单表记录操作 插入记录:insert insert into 表名 (列名,列名,...) values (值1,值2,...); ---插入指定列的值 insert into 表名 (列名,列名,...) values (值1,值2,...), (值1,值2,...), (值1,值2,...); -- 批量插入 insert into 表名 values (值1,值2,...); ---插入所有列的值 插入中文报错 修改MYSQL的安装路径/my.ini文件 client 编码为gbk 重新启动mysql服务  注意事项: * 列名的个数与值的个数对应. * 列的类型与值的类型对应.位置也要对应. * 列的类型如果是字符串或者日期,写值的时候使用单引号将值引起来. * 插入的值的最大长度不能超过列的最大长度. 修改记录:update update 表 set 列名=值,列名=值 [ where 条件]; 注意事项: * 列名和值类型也要一致. * 值不能超过列的最大长度. * 值是字符串或日期,需要使用单引号. 删除记录:delete delete from 表 [ where 条件]; 注意事项: * 删除表中的一行记录,不能删除某列值 * 如果没有条件删除表中的所有列. 删除表中的所有记录 truncate 表名 和 delete from 表名区别? truncate table 删除表的记录:将整个表删除掉,重新创建一个新的表. truncate 属于DDL. delete from 删除表的记录:一条一条进行删除. delete属于DML。 事务管理 只能作用在DML语句上.如果在一个事务中使用delete删除所有记录,可以找回 rollback. 查询记录:select 基本查询 select [distinct] |列名 from 表 [where 条件]; 别名查询 使用 as 起别名, as 可以省略. 条件查询 = > < >= <= <> between 值1 and 值2 like 可以使用占位符: _ 和 % :下划线匹配一个字符, %:可以匹配任意多个字符 in 后跟着一组值 id in (1,2,3) and or not is not null ; is null limit 数据分页,是MySQL所特有的关键字 (orcale: rownum sqlserver : top) 两种 limit 值 查询前 几(值) 条 limit 从哪开始, 向后获取几条 分页显示数据 limit 0,10 第一页显示10条数据 limit 10,10 第二页显示10条数据 排序:order by asc 升序(默认) desc 降序 聚合函数: sum() ifnull(english,0) 如果english是null的话,就把它改为0 任何值+null = null count() max() min() avg() where 和 having的区别? where 用于分组前 后不能跟聚合函数 having 用于分组后 可以跟聚合函数 分组:group by 分组条件过滤:having SQL的查询语句的总结 顺序: s...f...w...g...h...o...; SQL对多表记录操作 多表设计: 正确分析表关系: 一对多:在多的一方创建一个字段,这个字段作为外键指向一的一方的主键 客户和订单:一个客户可以产生多个订单,一个订单只能属于是某一个客户. 部门和员工:一个部门下可以有多个员工,一个员工只能属于某一个部门. 多对多: 创建一个中间表,中间表中至少需要两个字段分别作为外键指向多对多双方的各自的主键 学生和课程:一个学生可以选择多门课程,一门课程可以被多个学生选择. 订单和商品:一个订单中包含多个商品,一个商品也可以出现多个订单中. 一对一:(很少) 唯一外键对应: 假设一对一的双方是一对多的关系.在多的一方创建外键指向一的一方的主键.需要在外键上添加一个unique约束 主键对应: 将一对一的双方的主键建立映射 案例 实现权限 1. 通过五张表设计 user, role(角色), resources(资源), 还有两张中间表 2. 权限框架 shiro 跟着开涛学shiro ***** 约束:用来保证数据的完整性. * 多表约束:外键约束!!! 多表查询: 连接查询 笛卡尔积连接(交叉连接) select * from A , B ; 内连接 : inner join -- inner 可以省略 显式内连接 select * from A inner join B on 条件; SELECT * FROM customer c INNER JOIN orders o ON c.cid = o.cid; 隐式内连接 select * from A,B where 条件; SELECT * FROM customer c ,orders o WHERE c.cid = o.cid; 查询的结果都是两个表的交集 外连接 outer join -- outer 可以省略 左外连接: left outer join -- select * from A left outer join B on 条件; SELECT * FROM customer c LEFT OUTER JOIN orders o ON c.cid = o.cid; 查询的是左边表的全部和两个表的交集 右外连接: right outer join -- select * from A right outer join B on 条件; SELECT * FROM customer c RIGHT OUTER JOIN orders o ON c.cid = o.cid; 查询的是右边表的全部和两个表的交集 查询的是主表中的所有以及从表中符合条件的数据,如果从表中没有数据的话,用 null 填充 子连接 一个SQL需要依赖另一个SQL语句的查询结果 插入记录:insert 删除记录:delete 修改记录:update 查询记录:select 基本查询 别名查询 带条件查询 = > < >= <= <> like , in and or not 排序:order by 聚合函数:sum,count,max,min,avg 分组:group by 分组条件过滤:having SQL对多表记录操作 多表设计: 正确分析表关系: 一对多:在多的一方创建外键指向一的一方的主键 多对多:创建中级表,中级表至少两个字段,分别指向双方主键 一对一:(很少) 多表查询: 连接查询 交叉连接 内连接 隐式内连接:where 显式内连接:inner join ... on 外连接 左外连接: 右外连接: 子查询 一个SQL需要依赖另一个SQL语句的查询结果
在命令行下mysql的数据导出有个很好用命令mysqldump,它的参数有一大把,可以这样查看:
mysqldump

最常用的:
mysqldump -uroot -pmysql databasefoo table1 table2 > foo.sql

这样就可以将数据库databasefoo的表table1,table2以sql形式导入foo.sql中,其中-uroot参数表示访问数据库的用户名是root,如果有密码还需要加上-p参数

C:\Users\jack> mysqldump -uroot -pmysql sva_rec date_drv > e:\date_drv.sql

mysql的数据导入也是相当便捷的,如:
mysql -uroot databasefoo < foo.sql

这样就可以将foo.sql的数据全部导入数据库databasefoo

 1.导出整个数据库 

mysqldump -u用户名 -p密码 数据库名 > 导出的文件名
  C:\Users\jack> mysqldump -uroot -pmysql sva_rec > e:\sva_rec.sql

2.导出一个表,包括表结构和数据

mysqldump -u用户名 -p 密码 数据库名 表名> 导出的文件名
  C:\Users\jack> mysqldump -uroot -pmysql sva_rec date_rec_drv> e:\date_rec_drv.sql

3.导出一个数据库结构
  C:\Users\jack> mysqldump -uroot -pmysql -d sva_rec > e:\sva_rec.sql

 4.导出一个表,只有表结构 

选择:select * from table1 where 范围

插入:insert into table1(field1,field2) values(value1,value2)
删除:delete from table1 where 范围
更新:update table1 set field1=value1 where 范围
查找:select * from table1 where field1 like ’%value1%’ ---like的语法很精妙,查资料!
排序:select * from table1 order by field1,field2 [desc]
总数:select count as totalcount from table1
求和:select sum(field1) as sumvalue from table1
平均:select avg(field1) as avgvalue from table1
最大:select max(field1) as maxvalue from table1
最小:select min(field1) as minvalue from table1

获取当前时间内容
select * from app_activity where year(beginTime)=year(now()) and month(beginTime)=month(now()) and day(beginTime)=day(now())
  mysqldump -u用户名 -p 密码 -d数据库名 表名> 导出的文件名
  C:\Users\jack> mysqldump -uroot -pmysql -d sva_rec date_rec_drv> e:\date_rec_drv.sql

5.导入数据库

常用source 命令
  进入mysql数据库控制台,
  如mysql -u root -p
  mysql>use 数据库
  然后使用source命令,后面参数为脚本文件(如这里用到的.sql)
  mysql>source d:wcnc_db.sql
mysql desc esc 基本命令总结
asc 按升序排列desc 按降序排列
下列语句部分是Mssql语句,不可以在access中使用。

SQL分类:DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE)DML—数据操纵语言(SELECT,DELETE,UPDATE,INSERT)DCL—数据控制语言(GRANT,REVOKE,COMMIT,ROLLBACK)
首先,简要介绍基础语句:1、说明:创建数据库CREATE DATABASE database-name2、说明:删除数据库drop database dbname3、说明:备份sql server— 创建 备份数据的 deviceUSE masterEXEC sp_addumpdevice ‘disk’, ‘testBack’, ‘c:\mssql7backup\MyNwind_1.dat’— 开始 备份BACKUP DATABASE pubs TO testBack4、说明:创建新表create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..)根据已有的表创建新表:A:create table tab_new like tab_old (使用旧表创建新表)B:create table tab_new as select col1,col2… from tab_old definition only5、说明:删除新表drop table tabname6、说明:增加一个列Alter table tabname add column col type注:列增加后将不能删除。DB2中列加上后数据类型也不能改变,唯一能改变的是增加varchar类型的长度。7、说明:添加主键: Alter table tabname add primary key(col)说明:删除主键: Alter table tabname drop primary key(col)8、说明:创建索引:create [unique] index idxname on tabname(col….)删除索引:drop index idxname注:索引是不可更改的,想更改必须删除重新建。9、说明:创建视图:create view viewname as select statement删除视图:drop view viewname10、说明:几个简单的基本的sql语句选择:select * from table1 where 范围插入:insert into table1(field1,field2) values(value1,value2)删除:delete from table1 where 范围更新:update table1 set field1=value1 where 范围查找:select * from table1 where field1 like ’%value1%’ —like的语法很精妙,查资料!排序:select * from table1 order by field1,field2 [desc]总数:select count as totalcount from table1求和:select sum(field1) as sumvalue from table1平均:select avg(field1) as avgvalue from table1最大:select max(field1) as maxvalue from table1最小:select min(field1) as minvalue from table111、说明:几个高级查询运算词A: UNION 运算符UNION 运算符通过组合其他两个结果表(例如 TABLE1 和 TABLE2)并消去表中任何重复行而派生出一个结果表。当 ALL 随 UNION 一起使用时(即 UNION ALL),不消除重复行。两种情况下,派生表的每一行不是来自 TABLE1 就是来自 TABLE2。B: EXCEPT 运算符EXCEPT 运算符通过包括所有在 TABLE1 中但不在 TABLE2 中的行并消除所有重复行而派生出一个结果表。当 ALL 随 EXCEPT 一起使用时 (EXCEPT ALL),不消除重复行。C: INTERSECT 运算符INTERSECT 运算符通过只包括 TABLE1 和 TABLE2 中都有的行并消除所有重复行而派生出一个结果表。当 ALL 随 INTERSECT 一起使用时 (INTERSECT ALL),不消除重复行。注:使用运算词的几个查询结果行必须是一致的。12、说明:使用外连接A、left outer join:左外连接(左连接):结果集几包括连接表的匹配行,也包括左连接表的所有行。SQL: select a.a, a.b, a.c, b.c, b.d, b.f from a LEFT OUT JOIN b ON a.a = b.cB:right outer join:右外连接(右连接):结果集既包括连接表的匹配连接行,也包括右连接表的所有行。C:full outer join:全外连接:不仅包括符号连接表的匹配行,还包括两个连接表中的所有记录。
其次,大家来看一些不错的sql语句1、说明:复制表(只复制结构,源表名:a 新表名:b) (Access可用)
? 法一:select * into b from a where 1<>1法二:select top 0 * into b from a
2、说明:拷贝表(拷贝数据,源表名:a 目标表名:b) (Access可用)insert into b(a, b, c) select d,e,f from b;
3、说明:跨数据库之间表的拷贝(具体数据使用绝对路径) (Access可用)insert into b(a, b, c) select d,e,f from b in ‘具体数据库’ where 条件例子:..from b in ‘"&Server.MapPath(".")&"\data.mdb" &"’ where..

###################################################################
---所有书籍价格的统计
select sum(price)总价,avg(price)均价,max(price)最高价,min(price)最低价
from titles

---统计where条件的记录
---business类型书籍价格的统计
select sum(price)总价,avg(price)均价,max(price)最高价,min(price)最低价
from titles where type='business'

--count返回记录的条数
--返回作者共来自几个州
select count (distinct state)州数 from authors

select count(au_id) from authors
--返回表的记录的条数
select count(*) from authors

select * from titles

--type类型的记录条数
select count(distinct type) from titles

select count(title_id) from titles

--group by
--返回各个类别的书籍的统计
select type, sum(price) 总价,avg(price) 均价,max(price) 最高价,min(price) 最低价,
count(*) 条数 from titles group by type

--返回各个出版社分别出版书籍的数量并排序(降序)
select * from titles
select pub_id, count(*) 数量 from titles group by pub_id order by 数量 desc

---1389出版社出版的书籍数量
select * from titles
select count(*) 数量 from titles where pub_id=1389

--对type,pub_id进行分组统计
select count(*) 数量,type,pub_id from titles group by type,pub_id
order by 数量 desc

--having筛选组
--返回类别的均价>15的书籍的统计
select avg(price)均价,type from titles group by type having avg(price)>15
--注:先求平均值,再求均价>15的记录.

select avg(price) 均价,type from titles
where price>15 group by type
--注:先求价格>15的记录,再根据类别求其价格>15的均价.

--要返回平均价格在13到18之间的图书分类
select avg(price) 均价,type from titles group by type
having avg(price) between 13 and 18

--返回出版书籍的数量>=6的出版社编号
select * from titles

select count() 数量,pub_id from titles
group by pub_id having count(
)>=6

--返回作者人数最多的state名字
select * from authors

select top 1 state,count()数量 from authors group by state
order by count(
) desc

--返回business,mod_cook这两个类别的统计信息
select * from titles

select type,sum(price) 总价,avg(price) 均价,max(price) 最高价,min(price) 最低价
from titles where type in('business','mod_cook') group by type
--注:先根据where条件将business,mod_cook类别的书籍选出,再进行统计.

select type,sum(price) 总价,avg(price) 均价,max(price) 最高价,min(price) 最低价
from titles group by type having type in('business','mod_cook')
--注:先进行统计,再根据where条件将business,mod_cook类别的书籍选出.

上一篇下一篇

猜你喜欢

热点阅读