数据库_数据库原理、SQL(DDL、DML)

来源:互联网 发布:sql语法基础知识 编辑:程序博客网 时间:2024/06/17 01:56



2017年7月11日学习总结:


数据库
(Database,简称DB)是按照数据结构来组织、存储和
管理数据的仓库。

数据库管理系统
(Database Management System,简称DBMS):
管理数据库的软件。

关系数据库
关系:描述两个元素间的关联或对应关系,
使用关系模型把数据组织到二维数据表中。


一个关系数据库由多个数据表组成,数据表是关系数据库
的基本存储结构。表是二维的,由行(记录)和列(字段)组成。
表和表之间存在关联关系。

主流关系数据库
1,Oracle是Oracle公司的产品。
2,DB2是IBM公司的产品。
3,Sybase是美国Sybase公司的产品。
4,SQL Server是微软公司的产品。
5,MySQL是开放源码的小型关系数据库管理系统,现在属于Oracle公司。

SQL
(Structured Query Language):结构化查询语言。
SQL是在关系数据库上执行数据操作、检索及维护所使
用的标准语言,可以用来查询数据,操纵数据,定义数据,
控制数据。所有数据库都使用相同或者相似的语言。

SQL分为:
1,DDL:Data Definition Language 数据定义语言
CREATE:创建表或其他对象的结构。
ALTER:修改表或其他对象的结构。
DROP:删除表或其他对象的结构。
TRUNCATE:删除表数据,保留表结构。

2,DML:Data Manipulation Language 数据操纵语言
INSERT:将数据插入到数据表中。
UPDATE:更新数据表中已存在的数据。
DELETE:删除数据表中的数据。

3,TCL:Transaction Control Language 事务控制语言
COMMIT:提交,确认已经进行的数据改变。
ROLLBACK:回滚,取消已经进行的数据改变。
SAVEPOINT:保存点,使当前的事务可以回退到指定的保存点,
便于取消部分改变。

4,DQL:Data Query Language 数据查询语言
SELECT语句

5,DCL:Data Control Language 数据控制语言
GRANT:授予,用于给用户或角色授予权限。
RECOKE:用于收回用户或角色已有的权限。
CREATE USER:创建用。

Oracle数据类型
1,NUMBER数字类型
NUMBER(P,S):P总位数,S小数点后面的位数。

2,CHAR固定长度的字符类型
CHAR(N):N占用的字节数,最大长度2000字节。

3,VARCHAR2变长的字符类型
VARCHAR2(N):N最多可占用的字节数,最大长度4000字节。

4,DATE日期时间类型
默认格式是:DD-MON-RR。长度7个字节。
可以自定义日期格式:例如TO_DATA('2018-08-08','YYYY-MM-DD')

DDL
创建表
CREATE语句
语法:
CREATE TABLE table_name(
  column_name datatype
)

DESC 语句 
查看表的结构
语法:
DESC table_name

DEFAULT语句
给列指定默认值
语法: 
DEFAULT data

NOT NULL 语句
约束条件,确保字段值不为空
语法:
column_name datatype NOT NULL

修改表名
REBANE 语句
语法:
RENAME old_name TO new_name

增加列
ALTER TABLE的ADD子句
语法:
ALTER TABLE table_name ADD(column datatype)
只能增加在最后,不能插入到现有的列中。

删除列
ALTER TABLE的DROP子句
语法:
ALTER TABLE table_name DROP(column)

修改列
ALTER TABLE table_name MODIFY(column datatype)
修改仅对以后插入的数据有效

DML
INSERT语句
给数据表增加记录
语法:
INSERT INTO table_name[(column[,column...])]
VALUES(value[,value])
[]里的语句可以没有或者有多句,执行DML操作后,
需要再执行commit语句,才算真正确认了此操作。

UPDATE语句
更新表中的记录
语法:
UPDATE table_name 
SET column=value [,column=value]...
[WHERE condition]
注意:如果没有WHRER子句,则全表的数据都会被更新。
加了WHRER子句只会更新符合条件的。


DELETE语句
删除表中的记录
语法:
DELETE [FROM] table_name [WHERE condition]
注意:如果没有WHRER子句,则全表的数据都会被删除。
加了WHRER子句只会删除符合条件的。


TRUNCATE和DELETE语句的区别:
1,DELETE可以有条件删除,TRUNCATE将表数据全部删除
2,DELETE是DML语句,可以回退,TRUNCATE是DDL语句理解生效,无法回退。

3,如果是删除全部记录,且数据量较大,DELETE语句效率比TRUNCATE语句低。


一个小案例






   



























原创粉丝点击