1.Oracle中的一个专业术语
SID:数据库名
2.启动Oracle至少需要的服务
1.监听:OracleOraDb11g_home1TNSListener
2.实例:OracleServiceORCL
建议先开启监听后开启实例
3.Oracle的安全体系:
基于分用户原则进行数据管理:不同的用户只能看到自己的表
4.创建一个用户,如: 用户名admin 密码admin1234
(1)开启命令窗口 win+r cmd
(2)输入Oracle客户端启动命令:sqlplus
(3)输入Oracle的超级用户名 sys system(拥有最大的权限)
sys as sysdba(sys这个用户以超级dba身份登录)
(4)创建用户命令:
CREATE USER admin PROFIFE DEFAULT
IDENTIFIED BY admin1234 ACCOUNT UNLOCK;
GRANT SYSDBA,DBA TO admin;
工具选择:建议PLSQL Developer
--------------------------------------------
5.主键:在表中用以唯一标识一条数据的列
6.Oracle中的数据类型(三大类)
(1)数值类
整数 NUMBER
小数 NUMBER(10,2)
(2)字符类
VARHCAR2(20):以字节为单位计算长度,一个长度单位占一个字节,此处的20是 说该列最多可以容纳20个字节的数据
关于编码字符集
①ISO-8859-1 西欧字符集 单字节编码 一个字节表示一个西欧字符
如:abcd占用4个字节 一个字节占用8位二进制
②GBK 简体中文编码 双字节编码,两个字节表示一个汉字
GB2312
③UTF-8 可以识别人类一直的一切字符,缺点是不同平台用几个字节表示一个汉字不一定
VARCHAR2(20 CHAR):以字符为单位计算长度,无论中文、英文,一个字符都只占一个单位长度,此处(20 CHAR)可以存储任意语言的20个字符
3.日期类
7.数值类型与字符串类型应用的原则:
如果该列有可能参与数学运算,那么用数值类型;否则,即使存储的内容是数字,也用字符串类型
8.SQL -- 结构化查询语言
是数据库的灵魂,只要学会SQL,在数据库什么都可以操作
9.SQL语句中的建表语句:找寻语法的规律
(1)通用语法
CREATE TABLE 表名
(
列名1 数据类型,
列名2 数据类型,
...
列名N 数据类型,
PRIMARY KEY (主键列名称)
)
(2)例子
CREATE TABLE PERSON
(
PID NUMBER,
PNAME VARCHAR2(6 CHAR),
PNUMBER VARCHAR2(20),
PSEX VARCHAR2(1),
PSTATE VARCHAR2(1),
PMONEY NUMBER(10,2),
PRIMARY KEY (PID)
)
10.添加语句的语法规律
INSERT INTO 表名(列名1,列名2,列名3...列名N)
VALUES(列值1,列值2,列值3...列值N)
11.查询语句的语法规律:
SELECT 列名1,列名2,列名3...列名N || *
FROM 表名
WHERE 条件列表
12.删除语句的语法规律
DELECT FROM 表名 WHERE 条件列表
13.列别名与双引号的问题,以下三种情况,列别名必须加双引号
(1)列别名中严格区分大小写
(2)列别名中有空格
(3)列别名中有特殊字符
注意事项:对于特殊字符,如果不出现在开头位置,可以不加双引号
14.SQL语句中,尽可能的避免数据类型的隐式转换。
15.范围查询(边界一定要明确):
范围的表示方式:
(1)关键字BETWEEN AND 关键的两个闭区间数据,必须是闭区间
SELECT * FROM PERSON WHERE PMONEY BETWEEN 2100 AND 8000;
缺陷:区间的两个值必须同时出现
(2)通过AND关联两个数值
SELECT * FROM PERSON WHERE PMONEY>=2000 AND PMONEY<8000;
(3)IN表述集合(性能差,尽可能规避)
SELECT * FROM PERSON WHERE PID IN (3,9,7,2,5);
可以转换成or
(4)NOT IN表述的集合
SELECT * FROM PERSON WHERE PID NOT IN (3,9,7,2,5);
16.模糊查询:在条件不完整的情况下进行的查询
语法要点:
(1)用LIKE代替=
(2)使用通配符
_代表一个字符
%代表任意多个字符
SELECT * FROM PERSON WHERE PNAME LIKE '_玉%'
(3)定义转义字符,通过关键字ESCAPE查询特殊信息
SELECT * FROM PERSON WHERE PNAME LIKE '%/_%' ESCAPE '/'