欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

第一章 数据库和SQL

程序员文章站 2022-03-27 12:09:32
1-1 数据库是什么? 一、数据库的含义 数据库是将大量数据保存起来,通过计算机加工而成的可以进行高效访问的数据集合。 数据库DB 二、数据库管理系统 DBMS 用来管理数据库的计算机系统称为数据库管理系统。 三、为什么DBMS那么重要 (1)无法多人共享数据 (2)无法提供大量数据所需的格式 (3 ......
1-1 数据库是什么?
 
一、数据库的含义
数据库是将大量数据保存起来,通过计算机加工而成的可以进行高效访问的数据集合。
数据库db
 
二、数据库管理系统 dbms
用来管理数据库的计算机系统称为数据库管理系统。
 
三、为什么dbms那么重要
(1)无法多人共享数据
(2)无法提供大量数据所需的格式
(3)实现读写自动化需要编程能力
(4)无法应对突发事件
dbms可以克服以上不足,实现多个用户同时安全简单地操作大量数据。
 
四、dbms的种类
(1)层次型数据库hdb
(2)关系型数据库rdb
(3)面对对象数据库oodb
(4)xml数据库xmldb
(5)键值存储系统kvs
 
1-2 数据库的结构
 
一、rdbms的常见系统结构
服务器:服务器是用来接收其他程序发出的请求,并对该请求进行相应处理的程序(软件),或者是安装了此类程序的设备(计算机)。
 
客户端:向服务器发出请求的程序(软件),或者是安装了该程序的设备(计算机)称为客户端。
 
二、表的结构
 
注:根据sql语句的内容返回的数据同样必须是二维表的形式。返回结果如果不是二维表的sql语句则无法执行。
 
表的列(垂直方向)称为字段,它代表保存在表中的数据项目。
表的行(水平方向)称为记录,它相当于一条数据。
 
注:关系数据库必须以行为单位进行数据读写。
 
1-3 sql概要
 
一、标准sql
国际标准化组织(iso)为sql制定了相应的标准,以此为基准的sql称为标准sql。
 
二、sql语句及其种类
sql用关键字、表名、列名等组合而成一条语句(sql语句)来描述操作的内容。
 
关键字:关键字是指那些含义或使用方法已事先定义好的英语单词。
 
ddl data definition language 数据定义语言。用来创建或删除存储数据用的数据库以及数据库中的表等对象。有以下几个指令:
create:创建数据库和表等对象。
drop:删除数据库和表等对象
alter:修改数据库和表等对象的结构
 
dml data manipulation language 数据操纵语言。用来查询或者变更表中的记录。有以下几个指令:
select:查询表中的数据
insert:向表中插入新数据
update:更新表中的数据
delete:删除表中的数据
 
dcl data control language 数据控制语言。用来确认或者取消对数据库中的数据进行的变更。除此之外,还可以rdbms的用户是否有权限操作数据库中的对象(数据库表等)的设定,有如下命令:
commit:确认对数据库中的数据进行的变更。
rollback:取消对数据库中的数据进行的变更
grant:赋予用户操作权限
revoke:取消用户的操作权限
 
注:实际使用中sql语句当中有90%属于dml。
 
三、sql的基本书写规则
 
(1)sql语句要以分号;结尾。
(2)sql语句不区分大小写。sql不区分关键字的大小写。
sql书写规则:
关键字大写
表名的首字母大写
其余(列名等)小写
注:插入的表中的数据是区分大小写。
(3)常数的书写方式是固定的。
在sql语句中中直接书写的字符串、日期或者数字等称为常数。
字符串、日期用单引号引起来。'abc' '2010-01-26' '10/01/26'
数字不需要加任何符号标识。
(4)单词需要用半角空格或者换行来分隔。
 
1-4 表的创建
 
一、表的内容和创建
 
二、数据库的创建(create database语句)
create database < 数据库名称>;
注:数据库名称、表名以及列名都要使用半角字符(英文字母、数 字、符号)
 
三、表的创建(create table语句)
create table < 表名>
(< 列名1> <数据类型 > <该列所需约束 >,
< 列名2> < 数据类型> < 该列所需约束> ,
< 列名3> < 数据类型> <该列所需约束 >,
< 列名4> < 数据类型> <该列所需约束 >,
.
.
.
< 该表的约束1 > ,<该表的约束 2,....... >);
注:约束可以在定义列的时候进行设置,也可以在语句的末尾进行设置。
 
四、命名规则
只能使用半角英文字母、数字、下划线(_)作为数据库、表和列的名称。
名称必须以半角英文字母开头。
名称不能重复。
 
五、数据类型的指定
所有列都必须指定数据类型。数据类型表示数据的种类,包括数字型、字符型和日期型。
 
根据业务需要实际创建数据库时,一定要根据不同的rdbms选用最恰当的数据类型。
 
数值型:integer型、
字符型:char型(定长字符串)、varchar型(变长字符串)
日期型:date型
 
六、约束的设置
约束是除了数据类型之外,对列中存储的数据进行限制或者追加条件的功能。
 
 
1-5 表的删除和更新
 
一、表的删除(drop table语句)
drop table <表名 >;
注:删除的表是无法恢复的。
 
二、表定义的更新(alter table语句)
添加列:alter table < 表名> add column <列的定义>;
删除列:alter table < 表名> drop column <列名>;
注:表定义变更之后无法恢复。
 
三、数据的插入(insert into语句)
start transaction;
 
insert into <表名> values(<值1, 值2,........>);
insert into <表名> values(<值1, 值2,........>);
insert into <表名> values(<值1, 值2,........>);
insert into <表名> values(<值1, 值2,........>);
.
.
.
commit;
 
四、修改表名
mysql:
rename table <旧表名> to <新表名>;