Oracle --慕课网学习

li123456
慕课网学习
Oracle学习
1.scott默认密码是tiger。
2.使用系统用户登录
[username/password][@server][as sysdba|sysoper]
如果数据库不是安装在本机上,则需要输入 服务器名或IP地址;如果登陆的用户是sys,则需要使用sysdba或sysoper这两个登陆权限。
3.SQL不区分大小写
4.查看登陆用户,使用show user命令。
5.通过数据字典 dba_users来查看一些信息。命令desc dba_users。查看数据字典中包含哪些用户,使用命令 select username from dba_users;
6.启用用户的语句 alter user username account unlock
7.SQL语句必须以;结尾。
8.Oracle表空间分类:永久表空间、临时表空间、UNDO表空间。UNDO表空间保存的是事物修改表的旧址,主要用于表被修改之前的数据,通常用于表的撤销、回滚。
9.查看用户表空间。常用两个字典dba_tableapaces和user_tablespaces,前者用于系统用户查看表空间,后者用于普通用户查看表空间。
10.查看普通用户表空间 select tablespace_name from user_tablespaces;
11.dba_users、user_users。前者是系统管理员级别可以查看的数据字典,后者是普通用户级别可以查看的数据字典。
12.更改用户的默认或临时表空间
alter user username default/temporary tabelspace tabelspace_name;
13.创建表空间
create tablespace tablespace_name datafile 'xx.dbf' size xx;
14.认识表
1>每一列数据都必须具有相同的数据类型。
2>列名唯一。
3>每行数据唯一。
15.表中的数据类型
1>字符型
1-1 char(n)和nchar(n),他们都是固定长度类型。n是长度,如果你只存入3个长度的数据,则浪费了7个空间。char和nchar的区别:nchar他是按照uicode格式存放数据,一般情况下用nchar类型存储汉字。
1-2 varchar2(n)和nvarchar2(n),他们是可变长度数据类型。
2>数值型
2-1 number(p,s),p是指有效数字,s小数点后面的位数/或是一个范围,如果s是正数,他表示小数点后的位数;如果是负数,则表示小数点前面的数到小数点的位数。例如 number(5,2) 表示有效位数是5位,保留2位小数,例如123.45
2-2 float(n) 主要用于存储二进制数据。他能表示的二进制的位数是1到127.
3>日期型
3-1 date类型,其范围精确到秒。
3-2 timestamp 精确到 秒级以下
4>其他类型
4-1 blob 存放二进制 4GB
4-2 clob 存放字符串 4GB
16.管理表
1-1 创建表
create table table_name(column_name datatype,……);
上述的column_name 表示列名;datatype 表示列的类型。
举个例子:用户信息表
所需字段  编号   用户名 密码 邮箱 注册时间
字段类型  number varchar            date
1-2 修改表
1-2-1 添加字段(列)
alter table table_name add column_name datatype;
1-2-2 更改字段数据类型
alter table table_name modify column_name datatype; 修改空间或字段类型
1-2-3 删除字段
alter table table_name drop column column_name;
1-2-4 修改字段名
alter table table_name rename column column_name to newcolumn_name;
1-2-5 修改表名
rename table_name to new_table_name;
1-3 删除表
1-3-1 drop table table_name;
17.操作表中的数据
1.添加数据,向表中所有字段添加值
insert into table_name(column1,column2,……) values(value1,value2,……)
例如,向表中所有字段添值。
insert into userinfo values(1,'xxx');
1-1 查看表中所有字段值
select * from table_name;
1-2 向表中指定字段添加值
insert into tabel_name(z指定字段1,指定字段2) values(值1,值2);
1-3 查看表中指定字段值
select 指定字段1,指定字段2 from table_name;
1-4 复制表数据,两种方法
1-4-1 建表时复制
create table table_new as select column1,……| *from table_old
1-4-2 添加值时复制
insert into table_new [(column1,column2,……)] select column1,column2,……| * from table_old;
2.修改数据
update语句
update table_name set column1=value1,……[where conditions] 如果不加[]的话,表示修改表中这一列所有的数据。
3.删除数据
delete语句
delete from table_name [where conditons]; 不加[]是删除表中全部的数据.
18.约束
18-1 非空约束
在创建表时设置非空约束
create table table_name(column_name datatype not null……);
在修改表时添加非空约束
alter table table_name modify column_name datatype not null;
在修改表时去除非空约束
18-2 主键约束
主键约束作用:确保表当中每一行数据的唯一性。主键字段是非空、唯一的。一张表只能设计一个主键约束,主键约束可以由多个字段构成(联合主键或复合主键).
18-2-1 在创建表时设置主键约束
create table table_name(column_name datatype primary key ……);
18-3 外键约束
18-3-1 在创建表时设置外键约束
create table table_name(column_name datatype references table2(column_name datatype)); 其中table2称为主表,table1称为从表。设置外键约束时,主表的字段必须是主键。主从表中相应字段必须是同一种数据类型。从表中外键字段的值必须来自主表中的相应的字段值。
18-4 唯一约束
作用:使设置了唯一约束的字段保证其字段值的唯一性。
唯一约束和主键约束的区别:
1>主键在每张表中只能有一个,唯一约束在每张表中可以有多个。
create table table_name(column_name datatype unique,……)
18-5 检查约束
检查约束作用:让表中的值更加具有实际意义。
在创建表时设置检查约束
create table table_name(column_name datatype check(expressions));
19.查询
19-1 基本查询语句
select [distinct] column_name1,…… from table_name [where conditions] [distinct]表示去掉重复的行
19-2 设置查询结果显示格式
19-2-1 更改显示的字段名,这里只是修改查询后结果表里面的字段名,不是修改查询表中的字段名。
column column_name heading new_name;
19-2-2 设置结果显示格式
column column_name format dataformat;
19-2-3 清除之前设置过的格式
column column_name clear;
19-3 查询表中所有值段以及指定字段
19-3-1 查询所有字段
select * from table_name;
19-3-2 查询指定字段
select column1_name from table_name;
19-3-3 给字段名设置别名
select column_name as new_name from table_name;
19-4 运算符和表达式
select id,username,salary+200 from users;
运算符只能影响结果表中的数据,并不能影响原表中的数据,如果要修改原表中的数据,只能使用update语句
19-5 比较运算符
select id,username from table_name where salary>2000;
19-6 使用逻辑运算符
select id,username from table_name where salary>2000 and salary<>3000;
19-6 带条件的查询
19-6-1 带单一条件的查询
select username,salary from username = 'panda';
19-6-2 多条件的查询,使用逻辑运算符
select username from table_name where username = 'panda' or salary > 2000;
19-7 模糊查询
19-7-1 比如只知道某个字段中含有a字符,但不知道该字段名的全名,这时候就采用模糊查询.模糊查询使用关键字like。
19-7-2 通配符的使用
- 表示只能代表一个字符。
% 可以代表0到多个任意字符。
例如:查找用户名中第一个字符以p开头的所有用户名字
select * from table_name where username like 'p%';
例如,查找用户名中第二个字符以a开头的所有用户名字
select * from table_name where username like '_a%';
例如,查询用户名中含有a字符的用户名字
select * from table_name where username like '%a%';
19-8 范围查询
19-8-1 例如,查询工资在800到2000之间的员工工资
where salary >=800 and salary <=2000;
这次采用between……and操作符
where salary between 800 and 2000;
19-8-2 in操作符,它等价于用或运算符链接的表达式
例如,查询用户名是aaa或bbb的用户名
select * from tablename where username in('aaa','bbb');
19-9 对查询结果进行排序
select * from table_name [where ……] order by column1 desc/asc;
19-10 case……when语句 根据字段不同的值显示不同的结果
case column_name when value1 then result1,……[else result] end;
19-20 decode函数的使用
decode(column_name,value1,result1,……,defaultvalue);
如果用户名是'aaa',则写成'计算机部门',如果是'bbb',则写成'网络部门',否则写成'市场部分'
select username,decode(column_name,'aaa','计算机部门','bbb','网络部门','其他');

 

 

 

你可能感兴趣的:(Oracle --慕课网学习)