--创建用户
CREATE USER USER_NAME IDENTIFIED BY PASSWD;
--修改新密码
ALTER USER USER_NAME IDENTIFIED BY NEW_PASSWD;
--修改用户密码
PASSWD USER_NAME;
--可选参数 CASCADE
DROP USER USER_NAME [CASCADE];
--注意:
/*
在进行删除用户操作时,如果此用户已创建表,删除时需要加参数“CASCADE”,它具有级联的作用
*/
GRANT 权限/角色 TO USER_NAME;
REVOKE 权限/角色 FROM USER_NAME;
-- “系统权限是数据库管理相关的权限”
CREATE SESSION --登录权限
CREATE TABLE --建表权限
CREATE INDEX --创建索引权限
CREATE VIEW --创建视图权限
CREATE SEQUENCE --创建序列权限
CREATE TRRIGER --创建触发器权限
--“是授予用户的最基本的权利,能够连接到Oracle数据中,能够访问其他用户的表权限时”
CREATE SESSION --创建会话
CREATE VIEW --创建视图
CREATE SEQUENCE --创建序列
--“具有创建表、序列、视图的权限”
CREATE TABLE --创建表
CREATE TRIGGER --创建触发器
CREATE PROCEDURE --创建过程
CREATE SEQUENCE --创建序列
CREATE TYPE --创建类型
--“是授予系统管理员的,拥有该角色的用户即系统管理员,拥有系统的所有权限”
--创建表空间
CREATE TABLESPACE SPACE_NAME
--DATAFILE '/' 指向数据文件路径
--SIZE N(M) 表示初始化表空间为N(M)
--AUTOEXTEND ON NEXT 2M 自动扩展,每次扩展2M
--MAXSIZE UNLIMITED UNLIMITED最大扩展没有限制,N(M)最大扩展到N(M)
CREATE USER USER_NAME IDENTIFIED BY PASSWD DEFAULT TABLESPACE SPACE_NAME
ALTER USER USER_NAME IDENTIDIED BY PASSWD DEFAULT TABLESPACE SPACE_NAME
SELECT * FROM v$TABLESPACE
SELECT USERNAME, DEFAULT_TABLESPACE FROM DBA_USERS WHERE USERNAME = 'SCOTT';
--用户名SCOTT必须为大写
--创建表1
CREATE TABLE TABLE_NAME(
COLUMN_1 DATA_TYPE,
COLUMN_2 DATA_TYPE
);
--创建表2
CREATE TABLE TABLE_NAME AS SELECT COLUMN_1, COLUMN_2 ...FROM TABLE_NAME;
--修改表
ALTER TABLE 语句添加、修改或删除列的语法
--添加列
ALTER TABLE TABLE_NAME ADD(
COLUMN_1 DATA_TYPE,
COLUMN_2 DATA_TYPE
);
ALTER TABLE TABLE_NAME ADD COLUMN_1 DATA_TYPE;
--修改列
ALTER TABLE TABLE_NAME MODIFY(
COLUMN_1 DATA_TYPE
);
--删除列
ALTER TABLE TABLE_NAME DROP(
COLUMN_1,
COLUMN_2
);
--修改表名称
RENAME TABLE TO NEW_TABLE_NAME
--修改列名
ALTER TABLE TABLE_NAME RENAME COLUMN OLD_COLUMN TO NEW COLUMN;
--查看表结构
DESC 表名;
--添加非空
CREATE TABLE TABLE_NAME(
COLUMN_1 DATA_TYPE,
COLUMN_2 DATA_TYPE NOT NULL
);
ALTER TABLE TABLE_NAME MODIFY COLUMN_NAME NOT NULL;
--删除非空约束
ALTER TABLE TABLE_NAME MODIFY COLUMN_NAME NULL;
--添加唯一
CREATE TABLE TABLE_NAME(
COLUMN_1 DATA_TYPE,
COLUMN_2 DATA_TYPE UNIQUE
);
--修改唯一
ALTER TABLE TABLE_NAME ADDCONSTRAINT sUNIQUE_NAME UNIQUE (COLUMN_1, COLUMN_2);
--删除唯一
ALTER TABLE TABLE_NAME DROP CONSTRINT UNIQUE_NAME;
--备注:Oracle中,UNIQUE可以为单个NULL,也可多行为NULL
--添加主键
CREATE TABLE TABLE_NAME(
COLUMN_1 DATA_TYPE,
COLUMN_2 DATA_TYPE PRIMARY KEY
);
CREATE TABLE TABLE_NAME(
COLUMN_1 DATA_TYPE,
COLUMN_2 DATA_TYPE,
CONSTRAINT 约束名 PRIMARY KEY (COLUMN_1, COLUMN_2)
);
--修改主键
ALTER TABLE TABLE ADD CONSTRAINT 约束名 PRIMARY KEY (COLUMN_1, COLUMN_2);
--删除主键
ALTER TABLE TABLE_NAME DROP PRIMARY KEY CASCADE;
--备注:如果两表存在主从关系,删除主键约束时,需要加上CASCADE
/*
注意:每张表有且只有一个主键约束。
特别说明:
PRIMARY KEY 与 UNIQUE 的区别:
1、一张表可以对应多个UNIQUE(唯一约束)
2、一张表只要存在一个主键
3、设置为主键的列不能存在NULL值
*/
--添加主键
CREATE TABLE TABLE_NAME(
COLUMN_1 DATA_TYPE,
COLUMN_2 DATA_TYPE REFERENCES MAIN_TABLEE_NAME(COLUMN)
);
CREATE TABLE TABLE_NAME(
COLUMN_1 DATA_TYPE,
COLUMN_2 DATA_TYPE,
CONSTRAINT 约束名 FOREIGN KEY(COLUMN) REFERENCES, MAIN_TABLE_NAME(COLUMN))
);
--修改主键
ALTER TABLE TABLE_NAME CONSTRAINT 约束名 FOREIGN KEY(COLUMN) REFERENCES MAIN_TABLE_NAME(COLUMN);
--删除主键
ALTER TABLE TABLE_NAME DROP CONSTRAINT 约束名称;
/*
特别说明:FOREIGN KEY外键细节
1、外键指向主键列
2、外键可指向UNIQUE列
3、建表时先建主表,再建立从表,删除时,先删除从表,再删除主表
4、外键列属性值要与主键或UNIQUE列属性值的类型保持一致
5、外键列的值,必须再主键列中存在,但外键列的值运行为NULL
*/
--添加条件
CREATE TABLE TABLE_NAME(
COLUMN_1 DATA_TYPE,
COLUMN_2 DATA_TYPE CHECK (COLUMN_2 IN (VALUE1, VALUE2...))
);
--修改条件
ALTER TABLE TABLE_NAME ADD CONSTRAINT 约束名 CHECK(COLUMN IN (VALUE1, VALUE2...))
--删除条件
ALTER TABLE TABLE_NAME DROP CONSTRAINT 约束名称;
SELECT * FROM USER_CONSTRAINT WHERE TABLE_NAME = "TABLE_NAMWE";
INSERT INTO TABLE_NAME[(COLUMN [, COLUMN 2...])] VALUE(VALUE [, VALUE 2...]);
INSERT INTO TABLE_NAME VALUES(VALUE[, VALUE 2...]);
INSERT INTO TABLE_NAME1 (SELECT VALUE1, VALUE2, VALUE3,....FROM TABLE_NAME2);
UPDATE TABLE_NAME SET COLUMN_NAME = EXP(表达式) [, COLUMN 2 = EXP 2,....][WHERE 条件];
DELETE FROM TABLE_NAME [WHERE 条件表达式];
--删除的几种方式
DELETE FROM TABLE_NAME;
--删除所有记录,表结构还在,写日志,可以恢复,但速度较慢
DROP TABLE TABLE_NAME
--删除表的结构和数据
TRUNCATE TABLE TABLE_NAME;
--删除表中的所有记录,表接哦古还在,不屑日志,无法找回删除记录,速度块
SELECT
[DISTINCT] *|{COLUMN1(), COLUMN2()}
FROM TABLE_NAME AS AS_NAME
[WHERE {条件}];
/*
“解释”
1、SELECT 指向列进行查询
2、COLUMN 指定列名
3、* 代表查询所有数据
4、FROM 指定查询表源
5、DISTINCT 是否进行数据去重
6、WHERE 条件
7、AS 别名
*/
--使用列别名
SELECT
ENAME AS "姓名",
SAL * 12 + NVL(COMM, 0) * 13 AS "年收入"
FROM
EMP;
/*
解释:
Oracle在使用别名时,可以使用双引号或不使用, 或使用 AS 来表明别名,但是不能使用单引号。
*/
SELECT ENAME, SAL * 13(COMM, 0) * 13 FROM EMP;
--NVL(VALUE1, VALUE2)
--解释:NVL值VALUE1为NULL时则取值VALUE2,VALUE1部位NULL时则取值VALUE1原值
SELECT ENAME || "年收入" || SAL * 13 + NVL(COMM, 0) * 13 "雇员的年收入" FROM EMP;
SELECT * FROM EMP WHERE SAL BETWEEN 2000 AND 2500;
--BETWEEN AND 指定区间内取值
--如何显示首字符为S的员工姓名和工资
SELECT ENAME, SAL FROM EMP WHERE ENAME LIKE 'S%';
--如何显示第三个字符为大写O的所有员工的姓名和工资
SELECT ENAME, SAL FROM EMP WHERE ENAME LIKE 'O%';
SELECT * FROM EMP WHERE EMPNO IN (123, 345, 800);
--注意:IN只能放1000个值
SELECT * FROM EMP WHERE MAGE IS NULL;
SELECT * FROM EMP WHERE MAGE IS NOT NULL;
--查询薪资高于100或职位为CODE的人员,同时还要满足姓名首字母大写J的
SELECT * FROM EMP WHERE (SAL > 100 OR JOB = 'CODE') AND (ENAME LIKE 'J%');
SELECT * FROM EMP ORDER BY SAL SAC;
--使用别名排序
SELECT ENAME, SAL * 12 "年薪" FROM EMP ORDER BY "年薪" ASC;
--备注:别名使用需要用 ""
--如何显示所有员工最高工资和最低工资
SELECT MAX(SAL) "最高工资", MIN(SAL) "最低工资" FORM EMP;
--查询最高年工资
SELECT MAX(SAL * 13 + NVL(COMM, 0) * 13) "最高年工资", MIN(SAL * 13 + NVL(COMM, 0) * 13) "最低年工资" FROM EMP;
--显示平均工资和工资总和
SELECT AVG(SAL) "平均工资", SUM(SAL) "工资总和" FROM EMP;
--备注:AVG(SAL)不会把SAL为NULL的行进行统计,如果为空值也需要考虑,则可以
SELECT SUM(SAL) COUNT(*) FROM EMP;
SELECT COUNT(*) "共有员工" FROM EMP;
--显示每个部门的平均工资和最高工资
SELECT AVG(SAL) "平均工资", MAX(SAL) "最高工资", DEMPNO "部门编号" FROM EMP GROUP BY DEPTNO;
/*
分组函数总结:
1、分组函数(AVG)只能出现在选中列表、HAVING、ORDER BY子句中
2、如果在SELECT 语句中同时包含GROUP BY/ HAVING/ ORDER BY,其顺序为GROUP BY/ HAVING/ ORDER BY
3、在选择列中如果有列、表达式和分组函数,那么这些列和表达式必须有一个出现在GROUP BY子句中,否则会报错
*/
SELECT ASCII('A') A, ASCII('a') a, ASCII('0') ZERO, ASCII(' ') SPACE FROM DUAL;
SELECT CHR(54740) ZHAO, CHR(65) CHR65 FROM DUAL;
SELECT CONCAT('HELLO', 'WORLD') FROM DUAL;
SELECT INITCAP('SMITH') UPP FROM DUAL;
/*
C1 被搜索的字符串
C2 希望被搜索的字符串
L 搜索的开始位置,默认为1
J 第J次出现的位置,默认为1
*/
SELECT INSTR('ORACLE TRAING', 'RA', 1, 2) INSTRING FROM DUAL;
SELECT ENAME, LENGTH(ENAME) FROM EMP;
SELECT LOWER('AaBbCc') "LOWER" FROM DUAL;
SELECT UPPER('AaBbCc') "UPPER" FROM DUAL;
SELECT LAPD(RAPD('MNB', 10, "*"), 17, "=") FROM DUAL;
SELECT RTRIM('**NBA CODE**', '*') FROM DUAL;
SELECT SUBSTR('1110000000', 3, 8) FROM DUAL;
/*
STRING 希望被替换的字符或常量
S1 被替换的字符串
S2 要替换的字符串
*/
SELECT REPLACE('i L C', 'i', 'I') FROM DUAL;
SELECT TRIM(0 FROM 0009) "TRIM EXAMPLE" FROM DUAL;
SELECT CEIL(3.14159) FROM DUAL
SELECT FLOOR(2345.67) FROM DUAL;
SELECT TRUNC(124,1666, -2), TRUNC(124,16666, 2) FROM DUAL;
SELECT ROUND(55.5), ROUND(-55.4), TRUNC(-55.5), TRUNC(55.5) FROM DUAL;
SELECT ABS(-100) FROM DUAL;
SELECT ACOS(-1) FROM DUAL;
SELECT ASIN(0.5) FROM DUAL;
SELECT ATAN(1) FROM DUAL;
SELECT COS(-3.14159265) FROM DUAL;
SELECT MOD(10, 3), MOD(3,3) FROM DUAL;
SELECT TO_CHAR(LAST_DAY(SYSDATE), 'YYYY-MM-DD') FROM DUAL;
SELECT MONTHS_BETWEEN('1999-12-01', '2000-02-19') MON_BET FROM DUAL;
SELECT TO_CHAR(SYSDATE, 'DAY') FROM DUAL;
SELECT TO_CHAR(SYSDATE, 'YYYY/MM/DD HH24:MI:SS') FROM DUAL;
/*
TO_CHAR()
解释说明:
1、YY:两位数字的年份 2004 --04
2、YYYY:四位数字的年份 2004年
3、MM:两位数字的月份 8月 --08
4、DD:两位数字的天数 30日 --30
5、HH24:二十四小时制 8点 --20
6、HH12:十二小时制 8点 --08 MI:SS --显示分钟/秒
7、DAY:显示星期几
8、MONTH:显示月份
9、YEAR:显示年
数字格式:
1、9:显示数字,并忽略前面的0
2、0:显示数字,如位数不足,则用0补齐
3、.:在指定的位置显示小数点
4、,:在指定的位置显示逗号
5、$:在数字前面加美元符号
6、L:在数字前面加本地货币符号
7、C:在数字前面加国际货币符号
8、G:在指定位置显示组分隔符
9、D:在指定位置显示小数点符号(.)
说明:
,逗号.和小数点可以合在一起使用,G 分隔符和 D 小数点符可以合在一起使用,但,.不能和 GD, 综合使用,否则报错。
*/
DECODE(
VALUE, IF1, THEN1, IF2, THEN2, IF3, THEN3, ... ELSE
)
--若VALUE为0,则为1,否则为2
DECODE(VALUE, '0', '1', '2')
--显示职员上级领导的姓名
SELECT E2.ENAME FROM EMP E1, EMP E2 WHERE E1.MAGE = E2.EMPNO;
SELECT COLUMN_NAME1, ... FROM TABLE_NAME INNER JOIN TABLE_NAME ON CONDITION;
--说明:内连接只要两张表同时满足条件曹辉被查询到
--显示职员的信息和部门名称
SELECT E.*, D.DNAME FROM EMP E INNER JOIN DEPT D ON E.DEPTNO = D.DEPTNO
SELECT COLUMN_NAME_1, COLUMN_NAME_2,...FROM TABLE_NAME_1 LEFT JOIN TABLR_NAME_2 ON CONDITION;
SELECT COLUMN_NAME_1, COLUMN_NAME_2,...FROM TABLE_NAME_1, TABLE_NAME_2 WHERE CONDITON_1 = CONDITION_2(+);
SELECT COLUMN_NAME_1, COLUMN_NAME_2, ...FROM TABLE_NAME_1 RIGHT JOIN TABLE_NAME_2 ON CONDITION;
SELECT COLUMN_NAME_1, COLUMN_NAME_2 TABLR_NAME_1, TABLE_NAME_2 WHERE CONDITION_1(+) = CONDITION_2;
SELECT COLUMN_NAME_1, COLUMN_NAME_2, ... FROM TABLE_NAME_1 FULL OUTER JOIN TABLE_NAME_2 ON CONDITION;
SELECT T2.* FROM (SELECT T1.*, ROWNUM RN FROM (SELECT * FROM TABLE_NAME) t1
WHERE RN<=大范围(取到多少条数据)) T2 WHERE RN>=小范围(从第几条数据开始取);
/*
说明:Oracle分页查询时通过三层筛选进行查询的。每一次都可以带WHERE条件来对目标数据进行筛选。
1、第一层:构建所需查询字段信息并排序
2、第二层:构建ROWNUM, 别名为RN
3、第三层:加WHERE条件, RN >= M AND M <= N
*/
CREATE VIEW VIEW_NAME AS SELECT 语句 [WITH READ ONLY]
--说明:WITH READ ONLY表示只进行查询操作
创建或修改视图的基本语法:
CREATE OR REPLACE VIEW VIEW_NAME AS SELECT 语句 [WITH READ ONLY]
--说明:WITH READ ONLY表示只进行查询操作
删除视图的基本语法:
DROP VIEW VIEW_NAME
-----------------------------------------
------创建序列
-----------------------------------------
CREATE SEQUENCE CREATE_SEQUENCE_NAME_ROW_NUM_AUTOINC --序列名称
INCREMENT BY 1 --每次增长多少
START WITH 1 --从几开始
MINVALUE 1 --最小值
NOMAXVALUE --无最大值
NO CYCLE --序列到达最大值之后怎么办,CYCLE
CACHE 10 --需要不需要使用缓
-----------------------------------------
------创建触发器
-----------------------------------------
CREATE OR REPLACE TRIGGER insert_CREATE_TRIGGER_NAME_ROW_NUM_AUTOINC
BEFORE INSERT ON CREATE_TRIGGER_NAME
FOR EACH ROW
BEGIN
SELECT CREATE_TRIGGER_NAME_ROW_NUM_autoinc.NEXTVAL INTO :NEW.ROW_NUM FROM DUAL;
END;
1.postman介绍Postman一款非常流行的API调试工具。其实,开发人员用的更多。因为测试人员做接口测试会有更多选择,例如Jmeter、soapUI等。不过,对于开发过程中去调试接口,Postman确实足够的简单方便,而且功能强大。2.下载安装官网地址:https://www.postman.com/下载完成后双击安装吧,安装过程极其简单,无需任何操作3.使用教程这里以百度为例,工具使用简单,填写URL地址即可发送请求,在下方查看响应结果和响应状态码常用方法都有支持请求方法:getpostputdeleteGet、Post、Put与Delete的作用get:请求方法一般是用于数据查询,
Ⅰ软件测试基础一、软件测试基础理论1、软件测试的必要性所有的产品或者服务上线都需要测试2、测试的发展过程3、什么是软件测试找bug,发现缺陷4、测试的定义使用人工或自动的手段来运行或者测试某个系统的过程。目的在于检测它是否满足规定的需求。弄清预期结果和实际结果的差别。5、测试的目的以最小的人力、物力和时间找出软件中潜在的错误和缺陷6、测试的原则28原则:20%的主要功能要重点测(eg:支付宝的支付功能,其他功能都是次要的)80%的错误存在于20%的代码中7、测试标准8、测试的基本要求功能测试性能测试安全性测试兼容性测试易用性测试外观界面测试可靠性测试二、质量模型衡量一个优秀软件的维度①功能性功
在VMware16.2.4安装Ubuntu一、安装VMware1.打开VMwareWorkstationPro官网,点击即可进入。2.进入后向下滑动找到Workstation16ProforWindows,点击立即下载。3.下载完成,文件大小615MB,如下图:4.鼠标右击,以管理员身份运行。5.点击下一步6.勾选条款,点击下一步7.先勾选,再点击下一步8.去掉勾选,点击下一步9.点击下一步10.点击安装11.点击许可证12.在百度上搜索VM16许可证,复制填入,然后点击输入即可,亲测有效。13.点击完成14.重启系统,点击是15.双击VMwareWorkstationPro图标,进入虚拟机主
1.1.1 YARN的介绍 为克服Hadoop1.0中HDFS和MapReduce存在的各种问题⽽提出的,针对Hadoop1.0中的MapReduce在扩展性和多框架⽀持⽅⾯的不⾜,提出了全新的资源管理框架YARN. ApacheYARN(YetanotherResourceNegotiator的缩写)是Hadoop集群的资源管理系统,负责为计算程序提供服务器计算资源,相当于⼀个分布式的操作系统平台,⽽MapReduce等计算程序则相当于运⾏于操作系统之上的应⽤程序。 YARN被引⼊Hadoop2,最初是为了改善MapReduce的实现,但是因为具有⾜够的通⽤性,同样可以⽀持其他的分布式计算模
ES一、简介1、ElasticStackES技术栈:ElasticSearch:存数据+搜索;QL;Kibana:Web可视化平台,分析。LogStash:日志收集,Log4j:产生日志;log.info(xxx)。。。。使用场景:metrics:指标监控…2、基本概念Index(索引)动词:保存(插入)名词:类似MySQL数据库,给数据Type(类型)已废弃,以前类似MySQL的表现在用索引对数据分类Document(文档)真正要保存的一个JSON数据{name:"tcx"}二、入门实战{"name":"DESKTOP-1TSVGKG","cluster_name":"elasticsear
我是Ruby新手,并被要求在我们的新项目中使用它。我们还被要求使用Padrino(Sinatra)作为后端/框架。我们被要求使用Rspec进行测试。我一直在寻找可以指导在Padrino上使用RspecforRuby的教程。我得到的主要是引用RoR。但是,我需要RubyonPadrino。请在任何入门/指南/引用/讨论等方面指导我。如有不妥之处请指正。可能是我没有针对我的问题搜索正确的词/短语组合。我正在使用Ruby1.9.3和Padrinov.0.10.6。注意:我还提到了SOquestion,但它没有帮助。 最佳答案 我没用过Pa
(本文是网络的宏观的概念铺垫)目录计算机网络背景网络发展认识"协议"网络协议初识协议分层OSI七层模型TCP/IP五层(或四层)模型报头以太网碰撞路由器IP地址和MAC地址IP地址与MAC地址总结IP地址MAC地址计算机网络背景网络发展 是最开始先有的计算机,计算机后来因为多项技术的水平升高,逐渐的计算机变的小型化、高效化。后来因为计算机其本身的计算能力比较的快速:独立模式:计算机之间相互独立。 如:有三个人,每个人做的不同的事物,但是是需要协作的完成。 而这三个人所做的事是需要进行协作的,然而刚开始因为每一台计算机之间都是互相独立的。所以前面的人处理完了就需要将数据
文章目录1.任务背景2.任务目标3.相关知识点4.任务实操4.1安装配置JDK4.2启动FISCOBCOS4.3下载解压WeBASE-Front4.4拷贝sdk证书文件4.5启动节点4.6访问节点4.7检查运行状态5.任务总结1.任务背景FISCOBCOS其实是有控制台管理工具,用来对区块链系统进行各种管理操作。但是对于初学者来说,还是可视化界面更友好,本节就来介绍WeBASE管理平台,这是一款微众银行开源的自研区块链中间件平台,可以降低区块链使用的门槛,大幅提高区块链应用的开发效率。微众银行是腾讯牵头设立的民营银行,在国内民营银行里还是比较出名的。微众银行参与FISCOBCOS生态建设,一定
plsql连接Oracle超时,完犊子了肯定是服务器断电了。得马上检查Oracle服务器状态1、检查数据库是否启动su-oracle切换到Oracle用户,输入sqlplus/assysdba显示连接状态。如果末尾显示的状态是Connectedtoanidleinstance.证明未启动2、启动数据库startup启动数据库,末尾出现Databaseopened说明数据库启动成功3、查看数据库监听是否正常先quit;断开Oracle连接,使用lsnrctlstatus查看监听状态,如果出现TNS-开头的Nolistener、Connectionrefused等错误,说明监听未启动4、启动数据库
这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:FlashMessagesinPartials(Rails3)我正在做MichaelHartl的Railstutorial和listing7.26将flash消息添加到应用程序布局:...">...这很好用。但是,我试图通过在我的部分文件夹中创建一个_flash.html.erb来清理这段代码...">-->...并且比使用......在我的应用程序布局中,我的所有Rspec测试开始失败,每个测试都显示以下消息:Failure/Error:before{visitsignup_path}ActionView: