一、Oracle 数据库表空间
1、创建表空间:

create tablespace HZT datafile ‘D:/ora/oradata/orcl/HZT.dbf’
 size 15M autoextend on next 5M maxsize 50M;
 2、删除表空间:
 drop tablespace HZT including contents and datafiles
 二、Oracle 用户
 1、创建用户 – Create the user
 create user HZT
 identified by “”
 default tablespace HZT
 temporary tablespace TEMP
 profile DEFAULT
 password expire;


2、用户权限分配

可视化操作:

mysql小数点变为整数_数据


分配链接权限 connector 链接角色:

– Grant/Revoke role privileges
 grant connect to HZT;

mysql小数点变为整数_数据库_02


分配系统权限

– Grant/Revoke system privileges
 grant create any index to HZT;
 grant create any sequence to HZT;
 grant create any synonym to HZT;
 grant create any table to HZT;
 grant create any view to HZT;
 grant unlimited tablespace to HZT;

mysql小数点变为整数_数据库_03


三 数据表

创建表

create table TEST
 (
 ID NUMBER,
 NAME VARCHAR2(10),
 AGE NUMBER
 )
 删除数据表
 drop table table_name;
 commit;
 查看表结构的命令
 desc table_name;
四、约束条件
 主键约束
 唯一约束
 非空约束
 外键约束五、SQL学习
 1、SELECR基本查询语句
 select * from table_name
 where … 限制满足查询条件的行
 group by …
 关键词不能拆分、不区分大小写格式。*
 2、select 语句中的算术表达式:
 * / + - ( )
 计算从左往右,先计算括号内的数值,再乘除,后加减。
 注:select 语句乘除只能计算数值型字符,不能直接乘除日期型;
 列名不能缩写;
 列的别名:可用as 或者空格进行命名,含有 @ 空格 等特殊字符的,需在别名两侧加双引号;
 distinct 去重;
 || 连接符;
 3、字符串和日期
 字符串和日期的值要放在单引号中
 字符值区分大小写,日期值格式敏感,
 日期的默认格式 DD-MON-RR
 中文版与英文版的Oracle 对于日期的月份格式有区别,中文的用1月,英文的为月份的简写 比如:January Jan。
 4、比较条件
 < 小于,=等于,> 大于 , <=小于等于, >=大于等于, <>不等于,!= 不等于, ^= 不等于。
 BETWEEN… AND … 在两个值之间(包含); 【等同于 >= 下限 and <= 上限】 。
 IN(set) 匹配一个任意值列表,实际上由Oracle 服务器转变为一组or条件:a in (value1, value2) 等同于 a=value1 or a=value2。
 LIKE 匹配一个字符模板, 使用 % _ 进行模糊查询,‘%条件%’, escape转义字符,比如 like ‘SA_%’ escape ‘’。
 IS NULL 是一个空值 。
 IS NOT NULL 不是一个空值 。
 select 语句无法直接查询百分数,需要将百分数化为小数。5、逻辑运算
 AND 并列的条件同时为真
 OR 符合一个条件即可
 NO 取反

6、优先规则

mysql小数点变为整数_学习_04


7、Order by排序

对结果集做排序处理,在排序中也可以使用不包括在select子句中的列排序。

order by 子句查询, ASC升序排序 默认的, DESC降序。

order by 在select 语句的最后, 后跟排序的列

对于空值,升序排在最后,降序排在最前。

可以用列的序号排序,也可以用列的别名排序,还可以指定多列进行排序;

六、多表查询
笛卡尔积:
两个集合X和Y的笛卡儿积(Cartesian product),又称直积,表示为X × Y,是其第一个对象是X的成员而第二个对象是Y的一个成员的所有可能的有序对。
假设集合A={a,b},集合B={0,1,2},则两个集合的笛卡尔积为{(a,0),(a,1),(a,2),(b,0),(b,1), (b,2)}。

类似的例子:如果A表示某学校学生的集合,B表示该学校所有课程的集合,则A与B的笛卡尔积表示所有可能的选课情况。
1、内连接 ( inner join)
等值连接

select table1.column1, table2.column2 from table1, table2 where table1.column1 = table2.column2
 非等值连接
 非等值连接是一种不使用相等(=)作为连接条件的查询。如!=、 >、 <、>=、 <=、between… and… 等;
 select * from table1, table2 where table1.column1 > a
 自连接
 使用一个表连接它自身的操作。
 select * from table1 a, table1 b where a.column1 = b.column2
 [ select worker.last_name “manager name”, manager.last_name “worker name” from employees worker, employees manager where
 manager.manager_id =worker.employee_id ]MySQL 中 CROSS JOIN 和 INNER JOIN 的表现完全相同,都可以指定 ON 条件
 2、外连接 (outer join)
 外连接指查询出符合连接条件的数据同时还包含孤儿数据。(孤儿数据指列的值为空的数据)
 左(外)连接, left (outer) join on :
 包含左表的孤儿数据,即左表全显示,右表包含空值
 select * from table1 t1 left outer join table2 t2 on t1.column1=t2.column2
 *右(外)连接, right(outer) join on:
 包含右表的孤儿数据,即右表全显示,左表含空值
 select * from table1 t1 right outer join table2 t2 on t1.column1=t2.column2
 全外连接,full (outer) join on :包含全部表的孤儿数据
 select * from table1 t1 full outer join table2 t2 on t1.column1=t2.column2Oracle 扩展的外连接
 在Oracle 数据库中对外连接中的左外与右外连接做了扩展,可以简化外连接的语法,通过在连接条件的后侧使用(+)来表示是否显示孤儿数据,有(+)表示不显示孤儿数据,而另一侧则显示孤儿数据,但是该种写法仅能在Oracle 数据库中使用,在MySQL中就无法使用了。
 那个表要显示孤儿数据,哪个表就不加(+)select last_name, d.department_name from employees e, departments d
 where e.department_id = d.department_id (+)select last_name, d.department_name from employees e, departments d
 where e.department_id(+) = d.department_id

3、交叉连接 (cross join)

两个表的交叉乘积,该连接与两个表的笛卡尔乘积一样。
 4、自然连接 (natural join)
 把两个表相同的列做等值连接,相同的列必须数值和类型都相同,如果列的数据类型不一致将返回报错。相当于内连接,性能与等值连接相同,无须些连接条件。
 select * from table1 natural join table2
 5、Using 子句的使用
 当有多个列匹配时,用Using 子句匹配唯一的列。
 如果某列在USING中使用,那么在引用该列时不要使用表名或别名
 natural join 与 using 子局互相排斥,不能同时使用。
 select * from table1 join table2 using (column1) 注:column1为表1 表2 匹配的相同列。6、子查询
 嵌套查询,即一个查询是另一个查询的条件。
 可以将子查询放在许多SQL子句中,where 子局、from 子局、having 子局。
 select * from table1
 where column1 = ( select colmun2 from table2 where… )
 子查询放在圆括号中;
 子查询放在比较条件的右边;
 在单行子查询中用单行运算符 ,单行子查询指查询结果返回一条数据。
 在多行子查询中用多行运算符,多行子查询指查询结果返回多条数据。
 多行子查询:
 in ( ),
 any( ),<any 小于任意一个,小于最大值; >any 大于任意一个,大于最小值。
 all( ),<all 小于所有,小于最小值 >all 大于任意一个,大于最大值。七、数据操纵语言(DML)
 insert 的语句
 insert into table_name (colmun1, colmun2, colmun3 ) values (values1, values2, values3 );
 插入空值列数据
 insert into table_name (colmun1, colmun2, colmun3 ) values (values1, values2, null );
 或 insert into table_name (colmun1, colmun2 ) values (values1, values2 );

Oracle 数据导入方式:
一、sql文件导入
打开PLSQL Developer ,创建命令窗口,编辑 @d:/[尚硅谷]_宋红康_oracle_sql_plsql课件_章节练习_资料/2.数据表文件/01_del_data.sql
和 02_hr_cre.sql 和 03_hr_popul.sql。成功导入sql文件并执行语句。

mysql小数点变为整数_数据_05