SQL 基础部分

Oracle基础数据类型:
4类:
字符型:字符串
char(最大2000), nchar(最大1000, 支持Unicode)--->固定长度
varchar2(最大4000), nvarchar2(最大2000, 支持Unicode)--->可变长度
数字类型
包括整数和小数
number(有效数字, 总位数);
float()--->存储二进制类型的数据, 1-126位0.30103
日期类型:时间
date:取值范围:公元前4712年1月1号---公元9999年12月31号, 可以直接精确到秒
timestamp(时间戳: 更精确的数据, 可以精确到毫秒)
其它类型:大文本, 文件
blob: 最大4G, 以二进制的形式来存放数据
clob: 最大4G, 以字符串的形式存放

Oracle运算符和表达式

表达式类似于java, 可以是常量, 可以是变量, 也可以是表中的一个字段

算术运算符(+ - * /)
比较运算符(> >= < <= = <>/!=)
逻辑运算符(and or not)
字符串连接符(||)

复制表
删除表中数据
带条件的查询
导出一个表的数据
将excel的表贴到oracle
将查询结果导出excel
序列的创建

常用关键字
insert into
delete
update
select---尽量不要写*
where
in
like(%, _)
order by
group by--(group by 增强)
having
case...when...
set
distinct
between...and(闭合区间, 即包括前面的数, 也包括后面的数)
all

常用函数
to_char
to_date
mod
avg
sum
count
decode
substr
max
min
trunc
ceil
floor
nvl
nvl2
lower
upper
concat
? wm_concat

sql语句四种类型:
数据定义语言(DDL)、数据操作语言(DML)、数据控制语言(DCL)和事物控制语言(TCL)。

Data Definition Language(DDL)
DDL使我们有能力创建或删除表格。也可以定义索引(键),规定表之间的链接,以及施加表间的约束。
CREATE DATABASE - 创建新数据库
ALTER DATABASE - 修改数据库
CREATE TABLE - 创建新表
ALTER TABLE - 变更(改变)数据库表
DROP TABLE - 删除表
CREATE INDEX - 创建索引(搜索键)
DROP INDEX - 删除索引

Data Manipulation Language(DML)
供用户实现对数据的追加、删除、更新、查询等操作。
SELECT - 从数据库表中获取数据
UPDATE - 更新数据库表中的数据
DELETE - 从数据库表中删除数据
INSERT INTO - 向数据库表中插入数据

Data Control Language(DCL)
GRANT - 授权
REVOKE - 撤销授权
DENY - 拒绝授权

Transaction Control Language(TCL)
SAVEPOINT - 设置保存点
ROLLBACK - 回滚
COMMIT - 提交

oracle数据库约束:
定义规则
定义要输入的这个值是一个什么样的值, 或者是哪个范围内的值

作用: 确保完整性, 确保精确性

1, 非空约束
记录一条信息的时候如果用户名和密码没有被记录, 那么这条记录是没有实际意义的, 创建表的时候默认是可以为空的
2, 主键约束
确保表中每一行的数据的唯一性
非空, 唯一
一个表中只能有一个主键, 但是这个主键可以由多个字段(联合主键, 复合主键)来构成
可以在建表的时候写上设置为主键的关键字, primary key
或者写个表前约束设置
constraint 主键名称 primary key(字段名1, 字段名2)

3, 外键约束
唯一一个涉及两个表中的字段约束
插入数据的时候, 从表中的关联关系的字段, 要么是一个主表主键的关联, 要么是一个空值

4, 唯一约束(UNIQUE)
保证字段值的唯一性
与主键的区别: 唯一约束可以为空值, 唯一约束可以有多个
使用语句创建唯一约束只能写多条语句, 类似于insert into
5, 检查约束
作用: 使表当中的值更具有实际意义
比如定义一个值的范围
checks(sno>0 and sno<1000)

时间: 2024-10-10 15:32:52

SQL 基础部分的相关文章

(转载)SQL基础--&gt; 约束(CONSTRAINT)

感谢Leshami的分享,原文地址:http://blog.csdn.net/leshami/article/details/5711367 --============================= --SQL基础--> 约束(CONSTRAINT) --============================= 一.几类数据完整性 实体完整性:表中记录不重复(任何两条记录不全等)并且每条记录都有一个非空主键 域完整性:表中字段值必须与字段数据类型.格式.有效范围相吻合 参照完整性:不能引

SQL 基础之字符串和操作符使用(三)

SQL 基础之字符串使用 : 字符串可以是 SELECT 列表中的一个字符.数字.日期 但日期和字符只能在单引号中出现.每当返回一行时,字符串被输出一次 1.接上文使用过程中如果想把两个列串在一起,并加入一些自定义的显示,如下下图: select first_name || '  is a ' || job_id as "Emp Details" from employees; 2.显示first_name 的人的工资 是多少钱怎么显示: select first_name || '

Oracle实践--PL/SQL基础之同义词和序列

PL/SQL基础入门之同义词和序列             PL/SQL:过程语言(Procedure  Language)和结构化语言(Structured Query Language)结合而成的编程语言,是对SQL的扩展,支持多种数据类型,如大对象和集合类型,可使用条件和循环等控制语句,可创建存储过程,程序包和触发器等,给sql语句的执行添加程序逻辑,与Oracle服务器和Oracle工具紧密集成,具有可移植性,灵活性和安全性. 同义词: /*     同义词:现有对象的一个别名:    

Oracle实践--PL/SQL基础之表分区

PL/SQL基础入门之表分区 PL/SQL:过程语言(Procedure  Language)和结构化语言(Structured Query Language)结合而成的编程语言,是对SQL的扩展,支持多种数据类型,如大对象和集合类型,可使用条件和循环等控制语句,可创建存储过程,程序包和触发器等,给sql语句的执行添加程序逻辑,与Oracle服务器和Oracle工具紧密集成,具有可移植性,灵活性和安全性. ---------------------------------------------

Oracle实践--PL/SQL基础之代码块

PL/SQL基础入门之代码块 PL/SQL:过程语言(Procedure  Language)和结构化语言(Structured Query Language)结合而成的编程语言,是对SQL的扩展,支持多种数据类型,如大对象和集合类型,可使用条件和循环等控制语句,可创建存储过程,程序包和触发器等,给sql语句的执行添加程序逻辑,与Oracle服务器和Oracle工具紧密集成,具有可移植性,灵活性和安全性. 优点: 1.       支持SQL,可以使用:DML,DCL,游标控制和SQL运算符 2

Oracle实践--PL/SQL基础之游标

PL/SQL基础入门之游标 PL/SQL:过程语言(Procedure  Language)和结构化语言(Structured Query Language)结合而成的编程语言,是对SQL的扩展,支持多种数据类型,如大对象和集合类型,可使用条件和循环等控制语句,可创建存储过程,程序包和触发器等,给sql语句的执行添加程序逻辑,与Oracle服务器和Oracle工具紧密集成,具有可移植性,灵活性和安全性. ----------------------------------------------

Oracle实践--PL/SQL基础之视图和索引

PL/SQL基础入门之视图和索引         PL/SQL:过程语言(Procedure  Language)和结构化语言(Structured Query Language)结合而成的编程语言,是对SQL的扩展,支持多种数据类型,如大对象和集合类型,可使用条件和循环等控制语句,可创建存储过程,程序包和触发器等,给sql语句的执行添加程序逻辑,与Oracle服务器和Oracle工具紧密集成,具有可移植性,灵活性和安全性. -----------------------------------

Oracle数据库之SQL基础和分支循环

一.SQL基础语言 DECLARE --声明 a varchar2(10); --变量或对象 BEGIN a:='小明';-- := 表示给一个变量赋值 dbms_output.put_line(a); --输出用 dbms_output.put_line() END; 二.分支 DECLARE --声明 A NUMBER(10); B NUMBER(10); BEGIN A := 2; B := 3; IF A < B THEN DBMS_OUTPUT.PUT_LINE('a小于b'); EL

[SQL] SQL 基础知识梳理(一)- 数据库与 SQL

SQL 基础知识梳理(一)- 数据库与 SQL [博主]反骨仔 [原文地址]http://www.cnblogs.com/liqingwen/p/5902856.html 序 目录 What's 数据库 数据库结构 SQL 概要 创建表 删除和更新表 1-1 What's 数据库 1.数据库(Database,DB):将大量数据保存起来,通过计算机加工而成的可以进行高效访问的数据集合.如:大型-银行存储的信息,小型-电话簿. 2.数据库管理系统(Batabase Management Syste

sql基础之DDL(Data Definition Languages)

好久没写SQL语句了,复习一下. DDL数据定义语言,DDL定义了不同的数据段.数据库.表.列.索引等数据库对象的定义.常用的DDL语句包括create.drop.alter等等. 登录数据:mysql -uroot -p sql 命令一般以英文分号或者\g结束,注意这个\不是/. 1.查看数据库 show databases;注意这个后面的s. 2.创建数据库create database wangking;注意这里没有s. 3.选择数据库use siyecao;列出数据库中的表show ta