SQL基础语法

本文详细介绍了如何在Oracle数据库中创建表空间、用户并授予相应权限,以及DML和DDL操作,如创建、修改和删除表。还展示了插入、更新和删除数据的SQL语句,并给出了查询和排序的示例。同时,通过创建学生和课程表,展示了数据库的实际应用。
摘要由CSDN通过智能技术生成

create tablespace JYGISDATA                             -- 表空间名
datafile 'E:\app\Administrator\oradata\orcl\JYGISDATA.DBF' size 100M          -- 数据文件位置和初始文件大小
autoextend on next 100M maxsize unlimited logging   -- 文件自动扩展大小
extent management local autoallocate
segment space management auto;

-- 创建JYGISDATA用户
create user JYGISDATA 
identified by JYGISDATA 
default tablespace JYGISDATA;
-- 角色权限
grant connect to JYGISDATA;
grant resource to JYGISDATA;

GRANT CREATE SESSION,CREATE ANY TABLE,CREATE ANY VIEW,CREATE ANY INDEX,CREATE ANY PROCEDURE,
ALTER ANY TABLE,ALTER ANY PROCEDURE,DROP ANY TABLE,DROP ANY VIEW,DROP ANY INDEX,
DROP ANY PROCEDURE,SELECT ANY TABLE,INSERT ANY TABLE,UPDATE ANY TABLE, DELETE ANY TABLE TO JYGISDATA;

-- 系统权限
grant unlimited tablespace to JYGISDATA; 
grant create any view to JYGISDATA;


数据定义语言(DDL),包括 CREATE(创建)命令、 ALTER(修改)命令、 DROP(删除)命令等。
数据操纵语言(DML),包括 INSERT(插入)命令、 UPDATE(更新)命令、 DELETE(删除)命令
数据查询语言(DQL),包括基本查询语句、 Order By 子句、 Group By 子句等。
选择: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%’ 
排序:select * from table1 order by field1,field2 [desc]
总数:select count as totalcount from table1
           select count(*) from 表名
求和: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

1、create创表
create table S -- 创建表
(
  XH   CHAR(4) not null,--创建字段不为空
  XM CHAR(20) not null,
  XB CHAR(20) default '男' check (XB in ('男','女')) not null,
  NL NUMBER not null,
  BJ CHAR(20) not null,
PRIMARY KEY(XH)  --主键,唯一性
comment on column S.XH is '学号';--对XH的说明,可以理解成别名
)
comment on table S is '学生表';

2、ALTER修改表属性
ALTER TABLE S ADD TELE CHAR(12);--增加字段,默认不为空
ALTER TABLE S DROP COLUMN TELE; 

3、drop删除S表
DROP TABLE S ;

4、插入记录
insert into S (XH, XM, XB, NL, BJ)
values ('1', '张三', '男', 10, '三班');
insert into S (XH, XM, XB, NL, BJ)
values ('2', '李四', '女', 11, '二班');
insert into S (XH, XM, XB, NL, BJ)
values ('3', '王二', '男', 12, '一班');
insert into S (XH, XM, XB, NL, BJ)
values ('4', '张三', '女', 13, '四班');

5、将序号为4的班级修改成五班
update S set BJ='五班' where XH=4

6、删除记录
delete from S where XH=4

7、创建课程表
create table K -- 创建表
(
  XH   CHAR(4) not null,--创建字段不为空
  KC CHAR(20) not null,
  FS NUMBER 
  
)

insert into K (XH, KC, FS)
values ('1   ', 'IT', 95);
insert into K (XH, KC, FS)
values ('1   ', 'GIS', 98);
insert into K (XH, KC, FS)
values ('2   ', 'IT', 93);
insert into K (XH, KC, FS)
values ('4   ', 'GIS', 100);
insert into K (XH, KC, FS)
values ('3   ', 'ENGLISH', 70);

ORDER子句对输出的目标表进行排序,按附加说明ASC升序排列,或按DESC降序排列。
select * from K order by FS desc  --分数降序

查记录总数
select count(*) from S

查找学号跟课程对应同学的学号、姓名、班级、课程、分数
SELECT  S.XH,XM,BJ,KC,FS
FROM     S,K
WHERE  S.XH = K.XH;

排序集锦
where ID='$[ID]' order by length(YW_JZDZB.JZDH),YW_JZDZB.JZDH asc
length表示字符串长度
lengthb :表示字符串的字节长度

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值