基本概念
- SQL : 结构化查询语言 (Structured Query Language),用来访问和操作数据库系统。最初是由IBM公司以E.F.Codd博士的论文为原型开发出来的。在之后不久的1979年,Relation Software公司(后来更名为Oracle公司)发布 了第一个SQL产品,ORACLE,现在常见的数据库包括 SQL Server、Oracle、MySQL、Sybase 以及 Access 等等。
- 数据库 : 简单来说,数据库就是数据集合。我们可以把数据库看成是这样一种有组织的机制:它能够存储信息,用户能够以有效且高效的方式检索其中的信息。
事实上,每个人每天都在使用数据库,只是没有觉察到。电话薄就是个数据库,其中的数据包括个人的姓名、地址和电话号码。这些数据是按字母排序或者索引排序的,让用户能够方便地查找特定的本地居民。实际上,这些数据保存在计算机上的某个数据库里。毕竟这些电话薄的每一页都不是手写的,而且每年都会发布一个新版本。
数据库必须被维护。由于居民会搬到其他城市或州,电话薄里的项目就需要删除或者添加。类似的,当居民更改姓名、地址、电话号码等信息时,相应的项目也要修改。 - 关系型数据库
SQL 语言的分类
- 1.数据定义语言(DDL)。
用于创建和重构数据库对象,比如创建和删除表,也可以定义索引(键),规定表之间的链接,以及施加表间的约束。
CREATE DATABASE 创建新数据库
ALTER DATABASE 修改数据库
CREATE TABLE 创建表
ALTER TABLE 修改表
DROP TABLE 删除表
CREATE INDEX 创建索引
ALTER INDEX 修改索引
DROP INDEX 删除索引
CREATE VIEW 创建视图
DROP VIEW 删除视图
- 2.数据操作语言(DML)。
用于操作关系型数据库对象内部的数据。
UPDATE 更新数据库表中的数据
DELETE 从数据库表中删除数据
INSERT INTO 向数据库表中插入数据
- 3.数据查询语言(DQL)。
SELECT 从数据库表中选择获取数据
选择数据。基本命令是SELECT,这个命令具有很对选项和子句,用于构成对关系型数据库的查询。查询是对数据库进行的信息调查,一般通过程序界面或命令行提示符向数据库发出。无论是简单的还是复杂的查询,含糊的还是明确的查询,都可以轻松地实现。
- 4.数据控制语言(DCL)。
用于创建与用户访问相关的对象,以及控制用户的权限。通常和其他语句配合使用,这些控制命令包括:
ALTER PASSWORD 修改口令
GRANT 授权
REVOKE 取消
CREATE SYNONYM 同义词
- 5.数据管理命令。
数据管理命令用于对数据库里的操作进行审计和分析,还有助于分析系统性能。常用的两个数据管理命令如下:
START AUDIT 开始审计
STOP AUDIT 停止审计
- 6.事务控制命令。
COMMIT: 保存数据库事务;
ROLLBACK: 撤销数据库事务;
SAVEPOINT: 在一组事务里创建标记点用于回退;
SET TRANSACTION:设置事务的名称
表的构成。
1.字段。
每个表都可以分解为更小的项。这些项被称为“字段”。字段是表里的一列,用于保持每条记录的特定信息。
2.记录或一行数据。
记录,也被称为一行数据,是表里的各行。
在关系型数据库的表里,一行数据是指一条完整的记录。
3.列。
列是表里的垂直的一项,包含表里特定字段的全部信息。
4.主键。
主键用于区分表里的每一条数据,它通常是在表创建过程中初始化的。主键的特性确保了每一条记录都是唯一的。
5.NULL值。
NULL 是表示“没有值”的专用术语。如果表中某个字段的值是NULL,其表现形式就是字段为空,其值就是没有值。NULL并不等于0或空格。值为NULL的字段在表创建过程中会保持为空。
简单练习
--创建表
CREATE TABLE AAUSERINFO
(
id NUMBER(6,0),
usernam VARCHAR2(20),
userpwd VARCHAR2(20),
email VARCHAR(30),
regdate DATE
);
-- 添加字段
ALTER TABLE AAUSERINFO
ADD age VARCHAR(2);
-- 修改表字段名称
ALTER TABLE AAUSERINFO
RENAME COLUMN userpwd to newuserpwd;
-- 修改表名称
RENAME AAUSERINFO TO AAUSERINFO2;
或者
ALTER ALTER AAUSERINFO
RENAME TO AAUSERINFO2;
-- 删除字段
ALTER TABLE AAUSERINFO
DROP COLUMN regdate;
-- 更改字段长度,类型
ALTER TABLE AAUSERINFO
MODIFY age VARCHAR(30);
-- 如果表中没有数据,可批量修改数据类型
ALTER TABLE 表名 MODIFY(字段名1 类型,字段名2 类型,字段名3 类型.....)
-- 插入数据
INSERT INTO AAUSERINFO VALUES(1,'pjj','123456','110@163.com','18');
INSERT INTO AAUSERINFO VALUES(2,'pjj','123456','110@163.com','18');
INSERT INTO AAUSERINFO VALUES(3,'pjj','123456','110@163.com','18');
INSERT INTO AAUSERINFO VALUES(4,'pjj','123456','110@163.com','18');
-- 查看表数据
SELECT * FROM AAUSERINFO;
-- 删除某一条,或者某一类数据数据
DELETE FROM AAUSERINFO WHERE ID = 1;
-- 删除表中所有数据
DELETE FROM AAUSERINFO;
-- 删除表
DROP TABLE AAUSERINFO;
参考文档:
SQL 基础教程
Sql小白入门(一)概述