扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
1、启动plsql并登陆oracle数据库。
在平房等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供网站设计、成都做网站 网站设计制作定制网站建设,公司网站建设,企业网站建设,成都品牌网站建设,网络营销推广,外贸网站制作,平房网站建设费用合理。
2、创建测试表-- 创建表create table TestTable( id varchar2(36) not null, colcode nvarchar2(50),colname nvarchar2(50));-- 给表名添加备注 comment on table TestTable is '测试表';-- 添加主键alter table TestTable add constraint ID primary key (ID)。
3、插入测试数据(除了F8执行SQL之外,还需要点击【提交】按钮才能将数据插入到数据库)。
4、desc 作为降序排序的关键字,按照COLCODE 列降序展示表数据SELECT * FROM TESTTABLE ORDER BY COLCODE DESC。
5、【DESC + 表名】:显示表的详细字段(直接在Plsql的sql窗口中执行会报错)。
Oracle创建与使用一般分下面几步:
1、创建数据库;
2、创建表空间,配置存放数据文件的目录;创建用户和数据表时需要用到表空间,最好创建单独的表空间;
3、创建用户,以后在程序中连接数据库时需要用到用户,系统用户如sys/system一般用于管理数据库;创建用户时需要选择表空间;
4、创建数据表,根据业务设计数据表和表间关系;创建数据表时需要选择用户和表空间;
5、建议安装数据库开发工具,本人用的是PL/SQL Developer,方便简洁,用于编写触发器、存储过程、sql语句等。
对于初学者,还是建议找一本oracle基础书籍看一看。
方案一:将所有oracle服务设为手动,正常做数据库使用只需要启动时类似于OracleOraDb10g_home1TNSListener,OracleServiceORCL的两个服务
方案二:如果只做客户端使用,不适用本地数据库实例,只需要在需要时手工启用OracleOraDb10g_home1TNSListener服务即可!
方案三:条件允许的话扩展下内存,1G即可,oracle的这两个服务,特别是OracleOraDb10g_home1TNSListener有时候手工启动时会出问题,所以不建议将OracleOraDb10g_home1TNSListener设为手工启动
接收字符返回字符或数值时可以使用dual伪表
1、把小写字符转换成大写
select supper(“smi”) form dual
2、把大写转换成小写
lower(“SMI”)
3、首字母大写
initcap(“smi”)
4、字符串的连接可以使用concat,也可以使用 建议使用
concat(“hello”“world”) 结果为helloworld
5、字符串的截取,使用substr,第一个参数为字符串,第二个参数是索引,第三个参数结束索引(开始索引使用0和1效果一样)
substr(hello,0,3) 结果为hel
6、获取字符串长度
length(“hello”)
7、字符串替换,第二个参数为被替换的字符串,第三个是替换的字符串
replace(“hello”,“l”,“x”) 结果为hexxo
1、四舍五入函数ROUND()
默认取整,可以指定保留位数
round(12.523) 结果为13
round(12.537,2) 结果为12.54
2、取整TRUNC
默认全部去掉小数,可以指定位数
trunc(12.789) 结果为12
3、取余数MOD
mod(10,3) 结果为1
oracle中提供了很多和日期相关的函数,包括日期的加减
日期 - 数字 =日期
日期 - 日期 = 数字(天)
1、如:查询员工进入公司的走数
(sysdate - 入职日期)/7
注:当前日期查询select sysdate form dual
2、查询所有员工进入公司的月数
获取两个时间段的月数使用months_between(sysdate,入职日期)
3、获取几个月后的日期:add_months()
如:获取员工三个月后的日期
add_months(sysdate,3)
4、如求出下星期一是什么时候
指定给出下次某日期数next_date()
next_date(sysdate,“星期一”)
5、求日期的最后一天last_day()
求出本月的最后一天
last_day(sysdate)
1、to_char字符串转换函数
如:将所有员工的入职日期的年、月分开
注:在划分时需要通配符
年:yyyy 月:mm 日:dd
时:HH 分:mi 秒:ss
定义时间格式
to_char(sysdate,“yyyy-mm-dd HH24:mi:ss”)
在10以下的月数前面会默认加上前导零,去除加上fm
to_char(sysdate,“fmyyyy-mm-dd HH24:mi:ss”)
to_char还可以给数字做格式化
如将员工的工资按三位“,”分隔
to_char(工资,“99,999”) 9代表数字
如果想在钱上加上国家符号
美元使用
中文使用l
to_char(工资,“99,999”)
to_char(工资,“l99,999”)
2、to_number数值转换函数,将字符串转换成数值
to_number(“10”) +to_number(“10”)
3、to_date日期转换函数,将字符串数据转换成日期类型
to_date(“1997-05-12”,“YYYY-mm-dd”) 1997/05/12
1、空值处理 nvl
如果在查询的时候存在空值的情况可以使用
nvl(comm,0) 当comm的列值为空时,用0代替
2、decode函数
该函数类似于if ...else if ...else
语法:decode(列名/值,search1,result1,search2,result2,default)
decode(中国,中国,我是中国,美国,我是美国,其他)
如果为中国返回我是中国,为美国返回我是美国,为其他字符则返回其他。
3、case when 与decode差不多
语法 case when city=中国 then 我是中国
when city=美国 then 我是美国
else 其他
Oracle数据库怎么使用
,这两者都要保证你的服务是否启动,一般启动最后两个就可以
1.cmd进入命令行 lsnrctl start 启动监听服务,看出现什么错误
如果没有错误,察看数据库是否可以正常进行连接
2.看下你电脑是不是装了防火墙 先把防火墙禁止掉去
3.去orant\net80\trace\看看,一般有错都会在那里产生一个.log文件
如果是机器改名的话,编辑[oracle_home]\ora81\network\admin\listener.ora文件,将原机器名改为新的即可.也可能是端口冲突,比如我曾经因为安装一个上网代理软件而导致数据库服务不能启动.卸载该软件即可.
已解决,主要是修改了机器名称.导致监听启动后自动退出
将listener.ora 中,HOST 的值改成现在的机器名或IP 地址,然后再启动监听.问题就解决
启动数据库,在服务器上
(9I版本以上)
sqlplus /nolog
connect /as sysdba
startup
exit
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流