数据库的一些概念
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据库的一些概念相关的知识,希望对你有一定的参考价值。
数据库原理 、 SQL(DDL、DML)- 数据库(Database,简称DB)是按照数据结构来组织、
存储和管理数据的仓库. -
数据库管理系统(Database Management System,简称
DBMS):管理数据库的软件. -
数据库引擎,数据库范式(了解百科)
-
表的概念
一个关系数据库由多个数据表(Tabe)组成,数据表是关系
数据库的基本存储结构
表是二维的,由行和列组成
表的行(Row)是横排数据,也被称作记录(Record)
表的列(Column)是纵列数据,也被称作字段(Field)
表和表之间存在关联关系 - 主流关系型数据库
-
Oracle是著名的Oracle(甲骨文)公司的数据库产品
DB2是IBM公司的关系型数据库管理系统
Sybase是美国Sybase公司的关系型数据库系统
Microsoft SQL Server是微软的产品,运行在WindowsNT服 务器上
mysql是开发源代码的小型关系数据库管理系统,广泛
应用在中小型网站中,(目前也属于Oracle) -
SQL概述
SQL:结构化查询语言
SQL是在关系数据库上执行数据操作、检索及维护所使
用的标准语言,可以用来查询数据,操纵数据,定义数据,
控制数据
所有的数据库都使用相同或者相似的语言 -
SQL可分为:
- 数据定义语言(DDL):Data Definition Language
- 数据操纵语言(DML):Data Manipulation Language
- 事务控制语言(TCL):Transaction Control Language
- 数据查询语言(DQL):Data Query Language
- 数据控制语言(DCL):Data Control Language
-
DDL
Data Definition Language
用于建立、修改、删除数据库对象
包括:- CREATE:创建表或其他对象的结构
- ALTER:修改表或其他对象的结构
- DROP:删除表或其他对象的结构
- TRUNCATE:删除表数据,保留表结构
DDL:数据定义语言
DDL用于维护数据库对象使用
数据库对象:表,视图,索引,序列.
-
DML
Data Manipulation Language
用于改变数据表中的数据
和事务相关,执行完后需要经过事务控制语句提交后才
真正的将改变应用到数据库中
包括:- INSERT:将数据插入到数据表中
- UPDATE:更新数据表中已存在的数据
- DELETE:删除数据表中的数据
-
TCL
Transaction Control Language
用来维护数据一致性的语句
包括:- COMMIT:提交,确认已经进行的数据改变
- ROLLBACK:回滚,取消已经进行的数据改变
- SAVEPOINT:保存点,使当前的事务可以退到指定的
保存点,便于取消部分改变
-
DQL
Data Query Language
用来查询所需要的数据
SELECT语句 -
DCL
Data Control Language
用于执行权限的授予和收回操作
包括:- GRANT:授予,用于给用户或角色授予权限
- REVOKE:用于收回用户或角色有的权限
- CREATE USER:创建用户
-
Oracle数据类型
NUMBER表示数字类型
经常被定义成NUMBER(P,S)形式,其中:- P 表示数字的总位数
- S 表示小数点后面的位数
CHAR表示固定长度的字符类型
经常被定义成CHAR(N)形式,N表示占用的字节数
最大长度是2000字节
VARCHAR2表示变长的字符类型
定义格式是VARCHAR2(N),N表示最多可占用的字节数
最大长度是4000字节
DATE用于定义日期时间的数据
长度是7个字节
默认格式是:DD-MON-RR,例如:11-APR-71
-
创建表
CREATE语句
CREATE TABLE 名字()
DESC语句(查看表的结构)
DESC table_name
DEFAULT语句
可以通过DEFAULT子句给列指定默认值
给gender列赋默认值 ‘M‘,如果没有指定性别的员工,
默认是男性.
NOT NULL
非空是一种约束条件,用于确保字段值不为空
默认情况下,任何列都允许有空值
当某个字段被设置了非空约束条件,这个字段中必须 存在有效值
当执行插入数据的操作时,必须提供这个列的数据
当执行更新操作时,不能给这个列的值设置为NULL -
修改表
修改表名
在建表后如果希望修改表名,可以使用RENAME语句实 现
增加列
给表增加列可以使用ALTER TABLE的ADD子句实现
语法: ALTER TABLE table_name ADD
列只能增加在最后,不能插入到现有的列中
删除列
使用ALTER TABLE table_name DROP(column);
删除字段需要从每行中删掉该字段占据的长度和数据,
并释放在数据块中占据空间,如果表记录比较大,删除 字段可能需要比较长的时间.
修改列
建表之后们可以改变表中列的数据类型、长度和默认值
修改仅对以后插入的数据有效
如果把长度由大改小,有可能不成功
语法:ALTER TABLE table_name MODIFY - DML语句
INSERT语句:给数据表增加记录
语法如下:
INSERT INTO table_name[(column[,column...])]
VALUES(value[,value...]);
执行DML操作以后,需要在执行commit语句,才算真正
确认了此操作
如果插入的列有日期字段,需要考虑日期的格式
可以自定义日期格式,用TO_DATE函数转换为日期类型的数据
UPDATE语句
更新表中的记录
语法如下:UPDATE table_name
SET column = value[,column=value]..
[WHRER condition];
如果没有WHERE子句,则全表的数据都会被更新,务必小心
DELETE语句
删除表中的记录
语法如下:DELETE[FROM] table_name[WHERE condition];
如果没有WHERE子句,则全表的数据都会被删除!
以上是关于数据库的一些概念的主要内容,如果未能解决你的问题,请参考以下文章