数据库_库的基本操作

关于数据库的基本知识

1:数据库简史
2:为什么需要使用数据库?
3:数据库底层实现细节
4:sql语法(最重要)

为什么需要使用数据库?

数据库是什么?

存储数据的仓库称之为数据库。
数据库解决的问题:1:数据持久化问题。2解决传统IO瓶颈问题。

数据库的优势?

大、检索速度快、安全。

数据库简史

关系型结构: 物理结构--->二维表格。
关系型数据库:
	sqlserver
	db2 
	sybase
	mysql
	oracle 
非关系型数据库:
	mongeDB
	redis
	hbase

##数据库底层实现细节
结构

sql

sql的分类

1:DCL 控制语言
2:DDL 定义语言
3:DML 管理语言
4:DQL 查询语言

常见登陆命令:

a:sqlplus /nolog 口令作用:打开数据库服务
b:conn / as sysdba; 将/用户 作为系统管理员登陆用户。

注意事项:

a:oracle数据库中的表时隶属于用户的。
b:当你需要查看一个不是当前登陆用户所属的表时,表前要加所属用户。
   例子: select *from scott.emp; 通过系统管理员查看scott用户下的emp表中的所有信息
c:sql语言的语法规则:
	i:sql语句不区分大小写 (推荐大写)
	ii:以';'结尾。
	iii: 换行,可以让sql更加利于阅读

###DCL 控制语言

查看当前数据库服务器中所有的用户:
select username from all_users;

1:创建用户

create user 用户名 identified by 密码;
create user ls identified by 123;

2:授权(权限高的给权限低的授权)

grant 权限1,权限,.... to 用户名 identified by 密码;
grant connect to ls identified by 123;

3:锁定账户

alter user 用户名 account lock;

4:解锁账户

alter user 用户名 account unlock;

5:删除账户

drop user 用户名;

6:撤销权限

revoke 权限1,权限,.... from 用户名;

###DDL 定义语言

表=行记录(数据)+表结构

表结构 = 列名+列类型

数据类型

数值型:

number(5)---> 当前类存储的时数值,该数值最大为99999
number(5,2)---> 当前类存储的时数值,该数值最大为999.99 5个长度 保留小数点后2位

字符串:

char(5)--->当前存储的数据是字符串类型 最多存储5个长度的串。 定长
varchar2(5)--->当前存储的数据是字符串类型 最多存储5个长度的串。变长 

日期:

date time timestamp

1:创建表

create table 表名 (列名 列类型,列名 列类型....);

2:删除表

drop table 表名;

3:查看表结构

desc 表名;

4:修改:alter table 表名:

i:修改表名
alter table 表名 rename to 新表名;

ii:修改列名
alter table 表名 rename column 原列名 to 新列名;

iii:修改列类型
alter table 表名 modify 列名 列类型;

iv:添加列
alter table 表名 add 列名 列类型;

v:删除列
alter table 表名 drop column 列名;

三范式( 很重要 )

1:表的原子性(列中不能存在多个值,不能存在重复列)
2:主键唯一(存在一列用来区分行记录)
3:多张表如果存在关系,那么通过主外键维护。

如何构建表:

1:遵守三范式
2:梳理表和表之间的关系。
	如何梳理关系: 说 一个老师可以教多个学生 一个学生可以被多个老师教
    如何维护关系:
	1对多关系中,关系由多的一方维护。(主外键,多的一方通过获取一的一方的主键在自己表中形成外键)。
	多对多关系中,拆分中间表,让中间表和其他两张表存在1对多关系。由中间表维护该关系。		

猜你喜欢

转载自blog.csdn.net/fancy_tan/article/details/83152205