数据库
zhougl996
编写博客,学习交流
展开
-
数据库对象命名规范
对象是数据库的组成部分,常见的有以下几种:表(Table )、索引(Index)、视图(View)、图表(Diagram)、缺省值(Default)、规则(Rule)、触发器(Trigger)、存储过程(Stored Procedure)、 用户(User)等。同时,在进行排序和创建临时表一类的内存操作时,会使用N的长度申请内存。7、正确理解和计算索引字段的区分度,文中有计算规则,区分度高的索引,可以快速得定位数据,区分度太低,无法有效的利用索引,可能需要扫描大量数据页,和不使用索引没什么差别。转载 2024-08-23 15:53:42 · 31 阅读 · 0 评论 -
count(1)、count(*)与count(列名)的执行区别
执行效果:1.count(1) and count(*)当表的数据量大些时,对表作分析之后,使用count(1)还要比使用count(*)用时多了!从执行计划来看,count(1)和count(*)的效果是一样的。 但是在表做过分析之后,count(1)会比count(*)的用时少些(1w以内数据量),不过差不了多少。如果count(1)是聚索引,id,那肯定是count...转载 2019-09-03 08:53:59 · 580 阅读 · 0 评论 -
Oracle官网登录下载资源账号密码共享
Oracle帐号:2696671285@qq.comOracle密码:Oracle123原帖地址:https://www.cnblogs.com/AlanLee/p/8615307.html可爱博主:AlanLee博客地址:http://www.cnblogs.com/AlanLee本文出自博客园,欢迎大家加入博客园。...原创 2019-09-25 15:54:56 · 1119 阅读 · 1 评论 -
Oracle序列的创建和使用
Oracle序列的创建CREATE SEQUENCE 序列名[INCREMENT BY n][START WITH n][{MAXVALUE n | NOMAXVALUE}][{MINVALUE n | NOMINVALUE}][{CYCLE|NOCYCLE}][{CACHE n| NOCACHE}];参数说明:INCREMENT BY- - 序列变化的步进,即序列的步长,默认为1;负值表示此Oracle序列的值是按照此步长递减的。START WITH- - 序列的初始值 ,默认为1。M转载 2021-03-18 21:04:19 · 332 阅读 · 0 评论 -
数据库:字符串拼接
1、“||”拼接select empno||'|'||ename from emp2、CONCAT()select concat(empno,ename) from emp;注:Oracle只能有两个参数,CONCAT()可以嵌套使用,mysql可以多个参数原创 2021-01-05 11:13:53 · 383 阅读 · 0 评论 -
oracle同义词
Oracle的同义词(synonyms)从字面上理解就是别名的意思,和视图的功能类似,就是一种映射关系,通过同义词,我们可以直接增删改查其他属主的表,PUBLIC 的同义词就基本够用1、添加同义词CREATE PUBLIC SYNONYM 同义词 FOR 属主.表名; 2、删除同义词DROP PUBLIC SYNONYM 同义词;3、查看同义词SELECT * FROM DBA_SYNONYMS;4、赋权grant select, insert, update, de原创 2021-01-03 14:46:04 · 273 阅读 · 0 评论 -
oracle索引的简单写法
1、创建索引create index 索引名 on 表名(列名);create index 索引名 on 表名(列名1,,列名2);createunique index 索引名 on 表名(列名1,,列名2);2、删除索引drop index 索引名;--ora-02429:无法用于删除强制唯一/主键的索引alter table 表名 drop constraint 索引名;3、查询索引--根据索引名,查询表索引字段select * from user_ind_co.原创 2021-01-03 14:13:20 · 306 阅读 · 0 评论 -
ORACLE数据库误操作执行了DELETE,该如何恢复数据?
一、根据时间来恢复1、查询数据库当前时间(目的是为了检查数据库时间是否与你电脑时间相近,避免时间不同而将数据恢复到错误时间点)select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual;2、查询删除数据时间点之前的数据select * from 表名 as of timestamp to_timestamp('2020-12-19 16:12:11','yyyy-mm-dd hh24:mi:ss');(若没有数据 ,将时间继续.转载 2020-12-19 18:34:35 · 522 阅读 · 1 评论 -
Oracle中对null的处理:case和decode的使用
1、缺省状态Oracle在Order by 时缺省认为null是最大值,所以默认(ASC)排序排在最后,DESC排在最前2、nvl函数NVL函数格式如下:NVL(expr1,expr2)含义是:如果oracle第一个参数为空那么显示第二个参数的值,如果第一个参数的值不为空,则显示第一个参数本来的值NVL2函数格式如下:NVL2(expr1,expr2, expr3)含义是:如果该函数的第一个参数为空那么显示第二个参数的值,如果第一个参数的值不为空,则显示第三个参数的值,类似j原创 2020-12-19 18:12:03 · 3887 阅读 · 1 评论 -
Oracle 安装即时客户端 解决 报ORA-28040或ORA-01017
Oracle 11g 版本太低导致PLSQL连接不上 报28040或者01017ORA-28040: No matching authentication protocolORA-01017: invalid username/password; logon denied通过Oracle Database Instant Client64解决1、下载下载地址:https://www.oracle.com/database/technologies/instant-client/winx.原创 2020-12-10 09:52:10 · 960 阅读 · 0 评论 -
Oracle查看表空间总结
查看表空间及大小SELECT a.tablespace_name "表空间名",total "表空间大小",free "表空间剩余大小",(total - free) "表空间使用大小",total / (1024 * 1024 * 1024) "表空间大小(G)",free / (1024 * 1024 * 1024) "表空间剩余大小(G)",(total - free) / (1024 * 1024 * 1024) "表空间使用大小(G)",round((total - free)原创 2020-12-09 16:26:01 · 171 阅读 · 0 评论 -
oracle增删改表字段,建表,赋权
select * from emp;增删改表字段增alter table emp add note varchar2(100);删alter table emp drop (flag);改alter table emp modify (note varchar2(1));alter table emp rename column note to flag1建表create table EMP(empno NUMBER(4) not null,ename ...原创 2020-12-09 16:22:58 · 840 阅读 · 0 评论 -
Sql中的并(UNION)、交(INTERSECT)、差(MINUS)
UNION 取sql的并集,自动去重INTERSECT 取两者交集MINUS 取前者减后者剩余注:1.except只能用于SQLserver2.配合all一起使用时,会显示重复行原创 2020-10-29 10:43:25 · 1004 阅读 · 0 评论 -
SQL分类
DDL(数据定义语言)*对数据库,表,视图,索引等进行操作create alert dropDCL(数据控制语言)授权和事务grant revoke rollback commitDML(数据操作语言)*对表内数据进行操作insert update deleteDQL(数据查询语言)**select...原创 2020-08-31 17:18:22 · 122 阅读 · 0 评论 -
建表需要考虑什么?
确定所储存的值(类型及是否定长)varchar可变长度和char 长度固定(char 费空间,速度快; varchar 省空间,速度慢)数字类型用数组类型存储,时间类型用时间类型存储,不要用字符类型存储时间类型用字符串存储缺点: 这篇文章可以看看字符串占用的空间更大! 字符串存储的日期比较效率比较低(逐个字符进行比对),无法用日期相关的 API 进行计算和比较。选用字段长度最小优先使用定长型尽可能的定义“NOT NULL”数值型字...原创 2020-07-26 19:13:08 · 1359 阅读 · 0 评论 -
oracle11g安装环境变量配置
1 ORACLE_HOME变量名ORACLE_HOME变量值E:\Oracle\product\11.2.0\dbhome_12 TNS_ADMIN变量名TNS_ADMIN变量值E:\Oracle\product\11.2.0\dbhome_1\NETWORK\ADMIN3 NLS_LANG变量名NLS_LANG变量值SIMPLIFIED CHINESE...原创 2020-03-09 11:01:33 · 1322 阅读 · 0 评论 -
windows下用navicat远程链接虚拟机Linux下MySQL数据库
设置远程连接MySQL登陆 格式: mysql -h主机地址 -u用户名-p用户密码 1、例1:连接到本机上的MYSQL 找到mysql的安装目录,一般可以直接键入命令mysql -uroot -p,回车后提示你输密码,输入密码,直接回车即可进入到MYSQL中了,MYSQL的提示符是:mysql> 2、连接到远程主机上的MySQL 假设远程主机...原创 2019-12-18 18:37:06 · 1511 阅读 · 0 评论 -
使用一条sql查询多个表中的记录数
方法一: select t1.num1,t2.num2,t3.num3 from (select count(*) num1 from table1) t1, (select count(*) num2 from table2) t2, (select count(*) num3 from table3) t3方法二:select sum(t.num1),sum(...原创 2019-11-26 11:45:08 · 1008 阅读 · 0 评论 -
SQL优化:写一手好SQL很有必要
作者:编码砖家博主负责的项目主要采用阿里云数据库MySQL,最近频繁出现慢SQL告警,执行时间最长的竟然高达5分钟。导出日志后分析,主要原因竟然是没有命中索引和没有分页处理。其实这是非常低级的错误,我不禁后背一凉,团队成员的技术水平亟待提高啊。改造这些SQL的过程中,总结了一些经验分享给大家,如果有错误欢迎批评指正。MySQL性能最大数据量 抛开数据量和并发数,谈性能都是耍流氓。...转载 2019-10-17 11:06:32 · 406 阅读 · 0 评论 -
查询数据
use MyItcast--切换数据库select * from studentselect tsname,tsage,tsgender from student--第一种方式select tsname as '姓名',tsage as '年龄' from student第二种方式select tsname as 姓名,tsage as 年龄 from student--第三种方原创 2017-05-22 20:37:51 · 277 阅读 · 0 评论 -
SQL-处理约束
--练习--手动删除一列(删除EmpAddress列)alter table Employees drop column EmpAddressselect * from Employees--手动增加一列(增加一列EmpAddr varchar(1000))alter table Employees add EmpAddr varchar(100)--手动修改一下EmpEmail的数据原创 2017-05-22 20:36:15 · 646 阅读 · 1 评论 -
数据库表的约束
--约束--非空约束--主键约束(PK)-- primary key constraint主键的值不能为空--唯一约束(UQ)--unique constraint 唯一 允许为空,但只能出现一次--默认约束(DF)--default constraint 默认值--检查约束(CK)check constraint 范围以及格式限制--外键约束(FK)foreign key原创 2017-05-21 19:44:38 · 392 阅读 · 0 评论 -
建库,建表
--用代码创建数据库--create database My002databaseon primary(--名字 name='My002database_data',--路径 filename='D:\Program Files (x86)\Microsoft SQL Server\MSSQL11.SQL2012\MSSQL\DATA\My002database.mdf',--大小原创 2017-05-18 21:32:47 · 384 阅读 · 0 评论 -
备份,字符串和日期函数
--备份--方法一--只复制内容不复制约束--一开始newstu不存在select * into newstu from Stuselect * from newstu--方法二 --只拷贝表的结构--效率不高--1<>1判断为false 所以数据不拷贝select *into new1stu from Stu where 1<>1select * from new1stu原创 2017-05-24 20:43:24 · 566 阅读 · 0 评论 -
类型转换,笛卡儿积和联合结果集
--类型转换--'当前时间' GETDATE()--第一种转换方式 将时间转换成nvarcharselect '当前时间'+CAST(GETDATE() as nvarchar(20)) --第二种方式select '当前时间'+ CONVERT(nvarchar(20),GETDATE())--优化第二种方式select '当前时间'+CONVERT(varchar(20),GET原创 2017-05-24 20:40:58 · 419 阅读 · 0 评论 -
SQL-模糊查询
select * from tblstudent--查询的是以张开头的所有的名字select * from tblstudent where TSName like '张%'--查询的是以张开头的名字,只有两个字select * from tblstudent where TSName like '张_'--查询的是以张开头的名字,三个字select * from TblStudent原创 2017-05-24 18:25:51 · 6738 阅读 · 1 评论 -
SQL-聚合函数
--查询的是有多少条的数据select COUNT(*) from student--Maxselect * from TblScore--查询的是最高的数学成绩select MAX(TSMath) from TblScore--数学成绩最高的这个人的英语成绩和数学最高成绩select MAX(tsmath),TSEnglish from TblScore--select to原创 2017-05-22 20:39:47 · 423 阅读 · 1 评论 -
JAVA 连接数据库
首先,在连接数据库之前必须保证SQL Server 2012是采用SQL Server身份验证方式而不是windows身份验证方式。如果在安装时选用了后者,则重新设置如下:http://blog.163.com/jackie_howe/blog/static/19949134720122261121214/ 当你保证SQL Server 2012是采用SQL Server身份验证方转载 2017-06-07 19:00:28 · 449 阅读 · 0 评论 -
备份,字符串和日期函数
--备份--方法一--只复制内容不复制约束--一开始newstu不存在select * into newstu from Stuselect * from newstu--方法二 --只拷贝表的结构--效率不高--1<>1判断为false 所以数据不拷贝select *into new1stu from Stu where 1<>1select *...原创 2019-03-31 10:21:50 · 120 阅读 · 0 评论 -
左右连接和内连接,sql条件的位置join on和where的执行结果,select的执行顺序
1、左连接和内连接1.内连接,显示两个表中有联系的所有数据;2.左链接,以左表为参照,显示所有数据;3.右链接,以右表为参照显示数据;2、写条件的位置 JOIN ON 和WHERE1.对于inner join 两种写法在查询结果上没有区别。2.对于left join和right join 两种写法在查询结果上是不一致的。left join的会按第一个的表的内容显示。...原创 2019-08-02 09:09:11 · 853 阅读 · 0 评论 -
安装Oracle Database 11g
Oracle Database 11g下载地址:http://www.pc6.com/softview/SoftView_104670.html 第一步:将两个文件一起解压到同一目录下的同一文件夹内, 路径名称中不要出现中文,也不要出现空格等不规则字符。 解压完成后,到相应路径下,找到【setup.exe】,双击运行,安装Oracle 11g。 第二步:配置安全更...原创 2019-09-04 14:53:24 · 660 阅读 · 0 评论 -
Navicat连接oracle数据库
当我们安装完oracle数据库之后,我们会想着用可视化工具连接,navicat是我们常用的可视化连接数据库的工具当我们安装完oracle数据库的时候,我们需要先启动他先把相应的服务启动保证这两个服务是启动状态的,没有启动的话就手动启动一下打开SQL plus输入用户名和密码,这个在你安装的时候配置好了的接下来就可视化工...转载 2019-09-04 16:02:58 · 539 阅读 · 0 评论 -
简单启动oracle服务
oracle服务简介oracle数据库共有7个服务。这七个服务分别为:1、 Oracle ORCL VSS Writer Service:Oracle卷映射拷贝写入服务(非必须启动)。2、OracleDBConsoleorcl:Oracle数据库控制台服务(非必须启动)。3、OracleJobSchedulerORCL:Oracle作业调度(定时器)服务(非必须启动)。4、Or...原创 2019-10-08 10:41:27 · 607 阅读 · 0 评论 -
CentOS7 64位安装mysql教程,亲测完美
从最新版本的linux系统开始,默认的是 Mariadb而不是mysql!这里依旧以mysql为例进行展示:先检查系统是否装有mysql如果返回空值,说明没有安装MySQL;[root@localhost ~]# rpm -qa | grep mysql这里执行安装命令是无效的,因为centos-7默认是Mariadb,所以执行以下命令只是更新Mariadb数据库;[roo...转载 2019-08-16 15:34:36 · 164 阅读 · 0 评论 -
SQL-between和in的用法
select * from TblScoreselect tsid,tsenglish,tsmath from TblScoreselect COUNT(TSEnglish) from TblScoreselect TSId from TblScore where TSEnglish=20 and TSAge原创 2017-05-24 18:12:53 · 2179 阅读 · 1 评论