--建表
-- 关键字 : create
-- 用法 :
/*
create table table_name

lie1_name 数据类型 是否为空,
lie2_name 数据类型 是否为空,
lie3_name 数据类型 是否为空,
……………………………………
); */
create table infos
(
stuid varchar2(7) not null , stuname varchar2(10) not null , gender varchar2(2) not null , age number(2) not null , seat number(2) not null , enrolldate date , studress varchar2(50) , classno varchar2(4) not null
) ; -- 添加约束 --添加主键
alter table infos add constraint pk_infos primary key(stuid) ; --check 约束
-- 性别只能是男或女
--作用: 条件限制
alter table infos add constraint ck_infos_gendertest check(gender='男' or gender='女') ; --唯一约束
--作用:使该列内容不重复
alter table infos add constraint un_stuname unique(stuname) ; --日期格式转换
select to_char(sbirthday , 'yyyy-mm-dd hh24:mi:ss') from student ; --查询系统时间
select sysdate from dual ; -- dual 伪列 ,只有一行一列数据 --绝对值函数
--abs() 括号内是数值型或可以隐形转换成数值型
select abs(122),abs(-123),abs(0) from dual ; --数据添加 -- insert into 表名 valus
insert into student(sno,sname,ssex) values ('','小明','男') ; --添加日期
--需要类型转换 to_date
insert into student values(to_date('1990/2/3','yyyy/mm/dd')) ; --提交事务 commit ; --回滚事务 rollback ; --数据的复制 -- insert into 新的表名 select * from 要复制的表名 ; --查询数据去除重复
--distinct
--select distinct 列名 from 表名 ;
-- * 代表所有字段信息
-- != 或 <> 表示不等于
--|| 表示拼接 --修改表
--update 表名 set 条件或添加内容
update student set sclass = '' where sname='小明' ; update student set sclass = '' where sclass is null ; --删除表
--delete
delete student where sname = '小明' ; --快速清空一个表
--truncate
--truncate table 表名 ; --排序 --order by asc/desc 正序/倒序
--放于where条件后 --分组
--group by 列名 --查询位于两个数值之间的记录
--两种方法 select degree from score where degree >70 and degree < 85 ;
--between 后面必须是小的数值
select degree from score where degree between 70 and 85 ; --查询 位于66,77,88 中的成绩 select degree from score where degree=66 or degree=77 or degree=88 ; select degree from score where degree in (66,77,88) ; /*
排序用法 order by asc 正序,默认 ,可不加 desc 降序 ; 语法: order by 字段名1 asc/desc ,字段名2 asc/desc ... 字段在前的优先级高, 先按字段1排序,再按字段2排序 有条件限制语句的话,放在where语句后面 */ -- 去除查询数据中的重复记录
--distinct
--用法
--select distinct lie_name from biao_name ;
--实例
select distinct depart from teacher ; -- 查询两个数据之间 -- 比较运算 例:
select * from score where degree > 60 and degree < 80 ; -- 关键字:between 小值 and 大值 。 例:
select * from score where degree between 60 and 80 ; -- 内置函数 -- 聚合函数 返回单个值
--- 记录条数(列名内容不为空,一般统计主键列) select count(*) from student where sclass = ''; -- 成绩求和 select sum(degree) 总成绩 from score ; -- 平均成绩 select avg(degree) 平均值 from score ; -- 最高分 select max(degree) 最高分 from score ; -- 最低分 select min(degree) 最低分 from score ; -- 伪列
-- rownum 内置列
select * from score where rownum = 1 ; --查询每门课的平均成绩大于80的
-- 先cno 分组,在 内置函数
select cno , avg(degree),count(cno) from score group by cno having avg(degree) > 80 ; select * from (select cno , avg(degree) a,count(cno) from score group by cno ) where a> 80 ; --纵向查询
--两个表之间查询的列数要相同,对应列数的数据类型要相同 select sname,ssex,sbirthday from student
union
select tname,tsex,tbirthday from teacher ; --模糊查询 --查询姓王的学生信息
select * from student where sname like '王%' ;
--% 代表任意个数的字符
-- 一个下划线代表一个字符 _ -- 内置函数 --下限值 select floor(123.12) from dual ; --上限值 select ceil(123.12) from dual ; --四舍五入 select round(123.89) from dual ; --保留位数四舍五入 select round(125.456,2)from dual ; --直接舍掉
--作用: 格式化数据,统一格式 select trunc(123.456) from dual ;
--并不会四舍五入
select trunc(123.456,2) from dual ; --绝对值 select ABS(-23) from dual ; --求余数 ,求模 select mod(78,69) from dual ; --计算字符串长度 select tname,length(tname) from teacher ; --去空格
--去前后空格
select trim(' a b cf ') from dual ;
--去前空格 ltrim
select ltrim(' sdf ') from dual ;
--去后空格 rtrim
select rtrim(' sdf ') from dual ; --查找替换 select replace(' s df g ',' ') from dual ; select sname,replace(sname,'王','李') from student ; --查找字符串(空格也算一个),从1开始,找不到返回0 select instr('sd wef','w') from dual ; --截取字符串
--3 第几位开始截取
--5 截取长度
select substr('sdfga fgh',3,5) from dual ; select sname,substr(sname,1,1) || '同学' from student ; --null值处理 select nvl(degree,0) from score ; select nvl2(degree,55,0) from score ; select t.*,decode(ssex,'男','','女','') from student t ; --返回当前用户登录名 select user from dual ; ---取得序列的当前值
select sq_test.nextval from dual ; select sq_test.currval from dual ; insert into weadafa values(sq_test.nextval,'王五') ;
commit ;
select * from weadafa ; --视图 create or replace view v_score as
select t.*,s.sname,c.cname
from score t,student s,course c where t.sno=s.sno and t.cno=c.cno ;

Oracle ——————建表、select、视图的更多相关文章

  1. 5.oracle建表的时候同时创建主键,外键,注释,约束,索引

    5.oracle建表的时候同时创建主键,外键,注释,约束,索引 1 --主键 )); ) ,constraint aba_pr primary key(id,name1)); --外键 )); --复 ...

  2. oracle 建表 主键自增序列/////

    oracle 建表 主键自增序列 (2011-10-12 11:59:22) 转载▼ 标签: 杂谈 分类: oracle SQL> create table sms_activity(  2   ...

  3. Oracle建表提示SQL 错误: ORA-00904: : 标识符无效

    Oracle建表提示: 错误报告:SQL 错误: ORA-00904: : 标识符无效00904. 00000 -  "%s: invalid identifier"*Cause: ...

  4. PowerDesigner生成的ORACLE 建表脚本中去掉对象的双引号,设置大、小写

    原文:PowerDesigner生成的ORACLE 建表脚本中去掉对象的双引号,设置大.小写 若要将 CDM 中将 Entity的标识符都设为指定的大小写,则可以这么设定: 打开cdm的情况下,进入T ...

  5. oracle 建表时显示ORA-00984: 列在此处不允许

      oracle 建表时显示ORA-00984: 列在此处不允许 CreationTime--2018年7月19日16点10分 Author:Marydon 1.情景展示 使用plsql建表时,报错 ...

  6. oracle 建表时显示ORA-00904无效的标识符

      oracle 建表时显示ORA-00904无效的标识符 CreationTime--2018年7月19日16点03分 Author:Marydon 1.情景展示 使用plsql建表时,报错 字段展 ...

  7. Oracle建表

    1.oracle数据库中的多种数据结构: 1.表结构            存储数据 2.视图 一张表或多张表中数据的字节 3.sequence 主要用来生成主键值 4.index 提高检索性能 我们 ...

  8. SQL SERVER 生成ORACLE建表脚本

    /****** Object: StoredProcedure [dbo].[GET_TableScript_ORACLE] Script Date: 06/15/2012 13:07:16 **** ...

  9. Oracle建表插数据等等

    Oracle的表的管理: 表名和列的命名规则,详见 数据库命名规范 . 必须以字母开头 . 长度不能超过30个字符 . 不能使用Oracle的保留字 . 只能使用如下字符 column_name-Z, ...

随机推荐

  1. java设置环境变量小工具

    unit MainUnit; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Fo ...

  2. linux与KVM虚拟里的windows实现文件共享

    1.把windows系统里的共享文件设置为共享 2.在linux系统里 mount -t cifs //192.168.0.254/work /data/tmp -o username=test,pa ...

  3. java.security.NoSuchAlgorithmException: DES KeyGenerator not available

    更改jre,点击项目build path-->configure build path-->libraries-->jre library system-->edit--> ...

  4. 怎么使用Docker搭建PHP开发环境呢?

    在Docker流行之前,要搭建开发环境通常有两种选择:一种是使用wamp.xampp.mamp等集成开发环境安装包,另外一种就是使用普通虚拟机来安装linux服务器,然后通过下载一键安装包(如:lnm ...

  5. sql中的小细节

    1.SUM与COUNT的区别 SUM是对符合条件的记录的数值列求和 COUNT 是对查询中符合条件的结果(或记录)的个数 2 select name as 姓名,tel  from...where.. ...

  6. 11、Jsp加强/EL表达式/jsp标签

    1 Jsp基础回顾 Jsp基础 1)Jsp的执行过程 tomcat服务器完成:jsp文件->翻译成java文件->编译成class字节码文件-> 构造类对象-> 调用方法 to ...

  7. asp.net中调用javascript自定义函数的方法(包括引入JavaScript文件)总结

    通常javascript代码可以与HTML标签一起直接放在前 端页面中,但如果JS代码多的话一方面不利于维护,另一方面也对搜索引擎不友好,因为页面因此而变得臃肿:所以一般有良好开发习惯的程序员都会把 ...

  8. js instanceof运算符

    a instanceof B; instanceof检测对象a的原型链中有没有构造函数B.prototype 如下: function In (a, B) { var p = a.__proto__; ...

  9. python中split函数的使用

    最近学习python,对split函数做了下总结,内容如下:

  10. ACM题目————最长回文串

    Description 给出一个只由小写英文字符a,b,c...y,z组成的字符串S,求S中最长回文串的长度. 回文就是正反读都是一样的字符串,如aba, abba等   Input 输入有多组cas ...