Orcacle - sql语句入门

数据类型

字符型

char(2):没有数字时默认值为1,2表示初始化字符存储长度,如果存储字符长度不足,自动以空格代替,最大为2000
varchar2(10):字符,可变长度字符存储,设置最大存放10个字符,不足的自动缩放
long:字符(大文本)

数值型

number:于定义固定长度的数字,可以是整数,也可以是实数
number(5):表示最大五位数,最小一位数
number(5,2):表示最大五位整数,二位小数

日期型

date:表示时分秒
数据格式:yyyy-mm-dd , 2000-2-14
yyyy-mm-dd hh24:mi:ss , 2000-2-14 14:00:00

SQL语句的使用

-----sql语句默认不区分大小写

创建表

create:创建

create table T_STUDENT
(
  id          VARCHAR2(20) not null,
  name        VARCHAR2(20),
  password    VARCHAR2(20),
  gender      CHAR(1),
  create_date DATE,
  student_no  VARCHAR2(20),
  address     VARCHAR2(200),
  status      CHAR(1),
  age         NUMBER(3),
  weight      NUMBER(3),
  height      NUMBER(3)
  id_number   number(50);--身份证号
);

操作表

drop table:移除表

drop table t_student;

alter table:添加、修改、删除字段
add:添加字段

alter table T_student add (birthday DATE);

rname column … to:修改字段

alter table T_student rename column gender to sex;--修改字段

drop column :移除字段

alter table T_student drop column create_date;

创建数据表约束

创建主键约束
给某个字段添加主键约束后,该字段既不能为0也不能重复,且一张表只能有一个主键

alter table t_student add constraint pk_student_id primary key(id);

创建检查约束
给某个字段添加检查约束后,该字段被取值范围限制或格式限制等

alter table t_studnt add constraint ck_student_age check(age>=1 and age<=100);

唯一约束
用于指定一个或多个列的组合值具有唯一性,以防止在列中输入重复的值

alter table t_student add constraint uq_student_id unique(id_number);

默认约束
给某个字段设置默认值,在插入和修改时不用程序操作即可获得设定值

alter table t_student Modify create_date default sysdate;

数据操纵与查询

insert 插入

insert into t_student(id,name,sex)values(2,'小明','1');

update … set … 修改

update  t_student set name='小华' where id=2;

delete 删除

delete from t_student where id=2;

select 查找

select * from t_student; --查询表中所有数据
select id,name,sex from t_student where id=2; --查询id=2的指定行和所有列 

查询语句可与其他语句结合使用,进行更复杂的操作

虚拟表

Oracle中的dual表是一个单行单列的虚拟表,查询需要表名,而时间日期并不存放在任何表中,dual常用于没有表的sql语句中

select sysdate from dual;

sysdate 为当前系统时间字段
在这里插入图片描述
获取年月日、时分秒

select extract (year from sysdate) from dual;//年
select extract (month from sysdate) from dual;//月
select extract (day from sysdate) from dual;//日

select extract (hour from systimestamp) from dual;//时
select extract (minute from systimestamp) from dual;//分
select extract (second from systimestamp) from dual;//秒

Oracle 函数

对实数的操作

ceil :向上取整,取大于这个值的最小整数

select ceil(23.2) from dual;

floor:向下取整,取小于这个值的最大整数

select floor(23.2) from dual;

abs:绝对值

select abs(-25) from dual;

power:n次方

select power(2,3) from dual;
字符串的操作

upper:字母大写

 select upper('abcdedf') from dual;

lower:字母小写

select lower('ASSLKL') from dual;

initcap:首字母大写

select initcap('adsfdfd') from dual;

replace:替换

select replace('abcdef','b','流逼')from dual;

translate:翻译

select translate('dfsfwefesf','f','yyds') from dual;

decode:替换

select decode(2,1,'一',2,'二','数字') from dual;

nvl:null处理

 select nvl(null,'空的')from dual;

|| :字符串拼接

select '年龄=' || t.age from t_student t
聚合函数

只有一种结果的函数

count:统计记录数

select count(t.id) from t_student t;

sum:列的值的总和

select sum(t.age) from t_student t;

max:最大值

select max(t.height) from t_student t;

min :最小值

 select min(t.weight) from t_student t;

avg:平均值

select round(avg(o.chinese),2) from t_score o;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要使用PL/SQL连接Oracle数据库,您需要安装Oracle Client并配置连接参数。根据引用\[1\]和引用\[3\]的内容,以下是连接Oracle数据库的步骤: 1. 确保您的机器已经安装了Oracle Client。根据引用\[2\]的内容,您可以下载并安装Oracle 11g R2 32位版本的客户端。 2. 打开PL/SQL开发工具(如PL/SQL Developer)或者使用命令行工具(如SQL*Plus)。 3. 在连接参数中输入以下信息: - 主机名或IP地址:输入Oracle数据库所在服务器的内网地址。 - 端口号:根据引用\[3\]的内容,您可以使用默认的Oracle监听程序端口1521。 - 服务名或SID:根据引用\[1\]的内容,您可以使用ORCL作为服务名或SID。 4. 输入用户名和密码,这是您在Oracle数据库中创建的用户的凭据。 5. 点击连接按钮或执行连接命令,PL/SQL工具将尝试连接到Oracle数据库。 请注意,确保您的机器上的防火墙已经开放了Oracle数据库所使用的端口,并且Oracle服务已经启动。如果遇到连接问题,您可以参考引用\[1\]中提供的链接,其中提供了解决ORA-12514错误的方法。 希望这些步骤对您有帮助! #### 引用[.reference_title] - *1* *2* *3* [arcgis连接orcacle,并将数据存入sde,将sde中数据发布成服务](https://blog.csdn.net/qq_38374224/article/details/123008593)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值