您的位置:首页 > 数据库

数据库基础

2015-12-21 23:17 267 查看
一、初步认识

文件存储方式弊端:

1. 缺乏对数据的整体管理,不便修改;
2. 不易于数据分析和共享;
3. 数据量急剧增长,大量数据不可能长期保持在文本之中。

数据库(Database 简称 DB)

数据库管理系统( Database Management System简称 DBMS )

关系型数据库管理系统:由关系、数据、数据之间的约束三者所组成的数据模型则称为 RDBMS 。

常见的关系型数据库: Oracle、 DB2 、Sybase 、 SQL Server、 Mysql 。

关系:描述两个元素间的关联或对应关系。

表的概念:主要由字段(列)和记录(行)组成。
表与表之间的关系:一对一、一对多、多对多。

在数据库中, SQL语句本身是不区分大小写的,但是为了增加可读性,通常会将关键字与非关键字按照大小写区分开来增加可读性。
例如: SELECT SYSDATE FROM dual;

在数据库中,所有类型的数据的默认值都是 NULL 。

二、结构化查询语句(SQL)
① 数据定义语言( DDL )
(1)create --- 用于创建表操作
语法:
CREATE TABLE table_name (column_name column_type);
(2)alter --- 用于对表的修改操作

ALTER TABLE table_name ADD(column_name column_type ) --- 给表增加字段,注意只能在表的最后追加该字段,不能在现有字段之间插入新字段

例如:ALTER TABLE myemp_rs ADD( hiredate DATE)

ALTER TABLE table_name DROP(column) --- 删除一列,注意:当表中有数据时,会将删除的字段在每条记录对应的值都删除,若表中数据量大时会耗时。

例如:ALTER TABLE myemp_rs DROP(hiredate)

ALTER TABLE table_name MODIFY() --- 修改表中现有字段,可以修改字段的类型、长度、默认值,最好在表中没有数据时进行修改,尽量不修改类型,若修改长度,尽量不要缩小。

例如:ALTER TABLE myemp_rs MODIFY(job VARCHAR2(40) DEFAULT 'CLERK');
(3)drop --- 删除表
例如:DROP TABLE employee_rs;
(4)truncate --- 清空表中的数据
语法: TRUNCATE TABLE table_name 。

② 数据操纵语言( DML )
(1)insert --- 插入一条记录
语法:INSERT INTO table_name (column1,column2,column3,...) VALUES (value1,value2,value3,...)
注意:插入完成后,要提交事务。而数据库的一个事务是由 DML 执行语句开启的,由 TCL语句结束。

(2)update --- 修改数据
语法: UPDATE table_name SET col1=new_val1, col2=new_val2… [WHERE condition]
例如:UPDATE myemp_rs SET name = 'Randy' WHERE name = 'JACK'
(3)delete --- 删除数据
语法: DELETE FROM table_name [WHERE condition]
比较 TRUNCATE 与 DELETE :
-DELETE 可以有条件的删除, TRUNCATE将表数据全部删除;
-DELETE 是 DML语句,可以回退, TRUANCATE 是DDL 语句,立即生效,无法回退;
- 如果删除全部表记录,且数据量较大, DELETE 语句效率比TRUNCATE 语句低。

③ 事务控制语言( TCL )
(1)commit
(2)rollback
(3)savepoint

④ 数据查询语言( DQL )
(1)select

⑤ 数据控制语言( DCL )
(1)grant
(2)revoke
(3)create user

三、零碎知识:
① DESC 表名 --- 查看表的详细信息
② DEFAULT :通过DEFAULT 字句给列指定默认值。
③ NOT NULL :
①.是一种约束条件,用于确保字段值不为空。
②默认情况下,任何列都允许有空值
③当某个字段被设置了非空约束条件,这个字段中必须存在有效值
④ RENAME old_name TO new_name --- 修改表名
⑤ 使用自定义日期格式插入: TO_DATE (‘2009-09-01’,’YYYY-MM-DD’)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: