1.DB和DBMS
数据库(Database,简称DB)是按照数据结构来组织、存储和管理数据的仓库。
数据库管理系统(Database Management System,简称DBMS):管理数据库的软件。
2.Oracle数据库概述
Oracle是著名的Oracle(甲骨文)公司的数据库产品。Oracle是世界上第一个商品化的关系型数据库管理系统。Oracle采用SQL(结构化查询语言),支持多种数据类型,提供面向对象的数据支持,具有第四代语言开发工具。
3.SQL Server数据库概述
Microsoft SQL Server是微软的产品,运行在Windows NT服务器上。
4.MySQL数据库概述
MySQL是开放源码的小型关系型数据库管理系统,广泛应用在中小型网站中。
5.SQL概述
SQL:结构化查询语言。SQL是关系数据库执行数据操作、检索及维护所使用的标准语言,可以用来查询数据,操纵数据,定义数据,控制数据。
SQL可分为:数据定义语言(DDL)、数据操纵语言(DML)、事务控制语言(TCL)、数据查询语言(DQL)、数据控制语言(DCL)。
6.数据定义语言DDL
Data Definition Language:用于建立、修改、删除数据库对象。包括:
CREATE:创建表或其他对象的结构
ALERT:修改表或其他对象的结构
DROP:删除表或其他对象的结构
TRUNCATE:删除表数据,保留表结构
7.数据操作语言(DML)
Data Manipulation Language:用于改变数据表中的数据。和事务相关,执行完后需要经过事务控制语句提交后才真正的改变应用到数据库中。
包括:
INSERT:将数据插入到数据表中
UPDATE:更新数据表中已存在的数据
DELETE:删除数据表中数据
8.事务控制语言(TCL)
Transaction Control Language。用来维护数据一致性的语句。包括:
COOMIT:提交,确定已经进行的数据改变
ROLLBACK:回滚,取消已经进行的数据改变
SAVEPOINT:保存点,使当前的事务可以回退到指定的保存点,便于取消部分改变。
9.数据查询语言(DQL)
Data Query Language 用来查询所需要的语言:SELECT语句
10.数据控制语言(DCL)
Data Control Language:用于执行权限的授予和收回操作。包括:
GRANT:授予,用于给用户或角色授予权限
REVOKE:用于收回用户或角色已有的权限
CREATE USER:创建用户
11.Oracle软件的安装
远程登录数据库服务器:
(1)命令行工具:Oracle自带的SQL*PLUS
(2)图形界面工具:SQL Developer
这里我用SQL Developer来进行图形化管理Oracle数据库。
12.DDL语言
1.--创建表
CREATE table employee_lcz(
id NUMBER(4),
name VARCHAR(20) NOT NULL,
gender CHAR(1) DEFAULT 'M',
birth DATE,
salary NUMBER(6,2),
job VARCHAR2(30),
deptno NUMBER(2)
);
2.--查看表的结构
DESC employee_lcz;
3.--删除表
DROP TABLE employee_lcz;
--数据库中所有数据类型的默认值为NULL
--在创建表的时候可以使用DEFAULT为某个字段单独指定一个默认值
--数据库中的字符串字面量是使用单引号的
--虽然SQL语句本身不区分大小写,但是字符串的值是区分大小写的
4.修改表
1.修改表名
2.修改表结构
RENAME employee_lcz TO employ_lcz;
修改表结构
1.添加新的字段
2.修改现有的字段
3.删除现有的字段
添加新字段
ALTER TABLE employ_lcz
ADD(
hiredate DATE DEFAULT SYSDATE
)
DESC employ_lcz
删除现有的字段
ALTER TABLE employ_lcz
DROP(
hiredate
)
DESC employ_lcz
修改现有字段
可以修改字段的类型,长度,默认值,是否非空
修改表结构都应当避免在表中有数据以后进行
若表中有数据,修改表中字段时应尽量不要修改类型,
若修改长度尽量增大避免缩小,否则可能导致失败。
ALTER TABLE employ_lcz
MODIFY(
job VARCHAR2(40) DEFAULT 'CLERK'
)
DESC employ_lcz
13.DML语言
DML语句
DML是对表中的数据进行的操作
DML伴随事物控制(TCL)
DML包括操作:
增、删、改
INSERT语句:向表中插入数据
INSERT INTO employ_lcz(id,name,salary,deptno) VALUES(2,'jack',5000,10);
SELECT *from employ_lcz;
COMMIT
--使用自定义日期格式插入记录
INSERT INTO employ_lcz(id,name,job,birth) VALUES(3,'jack','MAN',TO_DATE('2018-03-16','YYYY-MM-DD'));
SELECT *from employ_lcz;
--UDATE 语句:修改表中数据
修改表中数据要使用WHERE添加过滤条件,这样才会只将满足条件的记录进行修改,否则是全表所有数据都修改
UPDATE employ_lcz SET salary=2000 where id=3;
SELECT *from employ_lcz;
--DELETE语句
删除表中语句,删除数据通常也要添加WHERE语句来限定删除语句的条件,否则就是清空操作
DELETE employ_lcz
SELECT *from employ_lcz