文章目录
1.认识数据库
1.1DBMS的分类
DBMS:管理数据库的计算机系统称为数据库管理系统
(Database Management System ,DBMS)。
DBMS分为下面几种类型:
- 层次数据库(HDB)
- 关系数据库(RDB)
- Oracle Datebase:甲骨文公司的RDBMS
- SQL Server:微软公司的RDBMS
- DB2:IBM公司的RDBMS
- PostgreSQL:开源的RDBMS
- MySQL:开源的RDBMS
- 面向对象数据库(Object Oriented Database,OODB)
- XML数据库(XML Database,XMLDB)
- 键值存储系统(Key-Value Store,KVS),举例:MongoDB
本次学习的主要是SQL语言的数据库管理系统,RDBMS的操作方法。
1.2RDMS的常见系统结构
客户端/服务器类型(C/S)
2.SQL认识
数据库主要是用来记录数据的,用行列来记录
数据库都是最主要的是增删改查。
2.2SQL的基本书写规范
- 分号结尾
- 关键字不区别大小写,但是插入到表中的数据区分大小写
- win系统默认不区分表名及字段名的大小写
- SQL 语句的单词之间需使用半角空格或换行符来进行分隔,且不能使用全角空格作为单词的分隔符,否则会发生错误,出现无法预期的结果
2.2数据库的基本语法
常用的语句
-- 数据库的创建
CREATE DATABASE lw;
-- 数据库中的表的创建
CREATE TABLE Addressbook
( regist_no INTEGER NOT NULL,
name VARCHAR(128) NOT NULL,
address VARCHAR(256) NOT NULL,
tel_no CHAR(10),
mail_address CHAR(20),
PRIMARY KEY (regist_no) );
-- 数据表的删除
DROP TABLE Addressbook;
-- 添加一个新的字段
ALTER TABLE Addressbook;
--删除一个字段
ALTER TABLE DROP Addressbook COLUMN address;
--删除表中特定的行
DELETE FROM Addressbook WHERE COLUMN_NAME='XXX';
--清空标的内容
TRUNCATE TABLE Addressbook_NAME;
--数据的更新
UPDATE addressbook
SET address ='北京'
WHERE regist_no = 1 ;
--多条数据更新
UPDATE addressbook
SET address ='北京'
tel_no='138'
WHERE regist_no = 1 ;
-- 向数据表中添加数据
-- 通常的INSERT
INSERT INTO productins VALUES ('0002', '打孔器', '办公用品', 500, 320, '2009-09-11');
INSERT INTO productins VALUES ('0003', '运动T恤', '衣服', 4000, 2800, NULL);
INSERT INTO productins VALUES ('0004', '菜刀', '厨房用具', 3000, 2800, '2009-09-20');
-- 多行INSERT ( DB2、SQL、SQL Server、 PostgreSQL 和 MySQL多行插入)
INSERT INTO productins VALUES ('0002', '打孔器', '办公用品', 500, 320, '2009-09-11'),
('0003', '运动T恤', '衣服', 4000, 2800, NULL),
('0004', '菜刀', '厨房用具', 3000, 2800, '2009-09-20');
-- Oracle中的多行INSERT
INSERT ALL INTO productins VALUES ('0002', '打孔器', '办公用品', 500, 320, '2009-09-11')
INTO productins VALUES ('0003', '运动T恤', '衣服', 4000, 2800, NULL)
INTO productins VALUES ('0004', '菜刀', '厨房用具', 3000, 2800, '2009-09-20')
SELECT * FROM DUAL;
-- DUAL是Oracle特有(安装时的必选项)的一种临时表A。因此“SELECT *FROM DUAL” 部分也只是临时性的,并没有实际意义。
2.3数据库中的表的名字的字段的命名规则
和编程语言的字段命名规则基本一致
- 只能使用半角英文字母、数字、下划线作为数据库、表和列的名称
- 名称必须以半角英文字母开头
2.4数据表的基本的数据类型
四种基本数据类型
- INTEGER:整型
- CHAR:恒定长字符串
- VARCHAR:可变长字符串
- DATE:日期
约束的设置 - NOT NULL
- PRIMAAPY KEY主键约束,代表该列的唯一值,可以通过该列取出特定的行的数据。
练习题
1.1题目
作答
CREATE TABLE Addressbook
( regist_no INTEGER NOT NULL,
name VARCHAR(128) NOT NULL,
address VARCHAR(256) NOT NULL,
tel_no CHAR(10),
mail_address CHAR(20),
PRIMARY KEY (regist_no) );
结果
1.2修改
ALTER TABLE Addressbook ADD COLUMN postal_code CHAR(8) NOT NULL;
结果
1.3填空题
DROP TABLE Addressbook;
1.4判断题
是否可以编写SQL语句来恢复删除掉的Addressbook表?
不能