第一节:
1.关系型数据库:建立在关系模型(数学模型)上的数据库
2.关系模型:建立在关系上的模型,关系模型包含三个方面:
1)数据结构:数据库的存储问题,二维表(行和列)
2)操作指令集合:所有的SQL语句
3)完整性约束:表内数据约束(字段与字段)、标语表之间
数据约束(外键)
3.关系型数据库:从需要存储的数据中分析如果是一类数据(实体)应
该设计成一张二维表,表示由表头(字段名:用来规定数据的名字)
和数据部分(实际存储的数据单元)组成。
4.以实体类进行处理:分析教学系统,讲师在教室教学生
1):找出教学系统中存在的实体类:老师、学生、班级
2):找出实体类中存在的数据信息
I.讲师:姓名、性别、年龄、工龄
II.学生:姓名、性别、学号、学科
III.班级:班级名称、班级编号
5.关系型数据库:维护实体内部、实体与实体之间的联系。
1):学生陈明:姓名、性别、年龄中的内容都是在描述这个学生(内部约束)
2):实体与实体间的关系:每个学生都有对应的班级,每个班级对应多个
学生
6.关系型数据库特点:如果表中某个字段没有值(数据),系统依然会为其分布空间
比较浪费存储空间
---------------------------------------------------------------
第二节:
1.关键字说明:database(数据库)、DBS(Database System):(数据库管理系统)
DBS=DBMS+DB:是多种内容联合起来的一种称呼
DBSM:Database Management System数据库管理系统
DBA:DataBase Administrator数据库管理员
2.I.行 记录:row record:本质是一个东西,都指表中的一行(一条记录),行是从
结构角度出发,记录是从数据角度出发
II.列 字段:column filed:本质是一个东西,都指表中的一列(一个字段),列
是从结构的角度出发,字段是从数据的角度出发
-------------------------------------------------------------
第三节:
1.SQL:structured Query Language 数据结构查询话语言(数据主要以查询为主)
2.SQL分为3部分:
I.DDL:Data Definition Language 数据定义语言,用来维护数据的存储
结构(数据库,表),代表指令:create、drop、alter
II.DML:Data Manipulation Language,数据操作语言,用来对数据进行操
作(数据表中的内容),代表指令:insert、delete、update等,其中DML
有单独有一个分类:DQL(Data Query Language:数据查询语言,如select)
III.DCL:Data Controller Language,数据控制语言,主要负责权限管理(用户)
代表指令:grant、revoke等。
3.SQL:是关系型数据库的操作指令,SQL是一种约束,但不强制(类似W3C)
----------------------------------------------------------------
第四节
1.Mysql是一种c/s结构的软件,若想访问服务器必须通过客户端
2.交互方式
I.客户端连接认证:mysql -u root -p password
II.发送SQL指令
III.服务接受SQL指令并处理返回结果
IV.客户端接受结果,并显示
V.断开连接(释放资源):exit、quit、\q
3.Mysql服务器对象:
I.内部对象的四层结构:系统(DBMS)->数据库(DB)->数据表(Table)->字段(Filed)
II.SQL基本操作分为:库操作、表操作(字段)、数据操作
1)库操作:create database 库明[库选项];
I.库选项:用来约束数据库,分为两个选项:
1).字符集设置:charset、character set(数据库存储的编码格式)
常用字符集GBK、UTF8
注意:1.如果要关键字做为数据库的名字要将关键字反引号``
2. 如果用中文做数据库的名字需要先设置 set names gbk;
2)校对集collate具体校对(数据比较的规则)
III.执行sql语句后
1.会在数据库系统下增加对应的信息
2.会在保存数据库的文件夹下:data目录下创建与数据库名对应的
文件夹。
3.每个数据库下都有一个.opt文件:保存库选项
default-character-set=utf8 字符集
` default-collation=utf8_general_ci 校对集,依赖校对集
IV.查看数据库
1) 查看所有数据库 show databases;
2) 查看指定数据库:模糊查询
show databases ‘pattern’ -- pattern匹配模式
%:匹配任意多个字符
_:匹配单个字符
若匹配的数据库名中有下划线,划线需要被转义
show databases like ‘information_%’ 相当于’information%’
3) 查看创建数据库: show create database 数据库名;
---------------------------------------------------------------------------------------------------------------------------
第五节
I.更新数据库
1) 数据库名不允许修改,仅允许需改库选项:字符集、校对集
II.删除数据库:drop database 数据库名
1)数据库内不看不到相对应的数据
2) 数据库名对应的文件夹被删除(级联删除:数据库里的表全部删除),数据库删除 可逆。
--------------------------------------------------------------------------------------------------------------------------------
第六节
I.表操作
1)表和字段是密不可分的
Create table [if not exist] 表名(
字段名 数据类型,
字段名 数据类型 --最后一行不需要逗 号
)[charset utf8];
2) 查看表:
I.查看所有表:show tables;
II.查看部分表:show table like ‘pattern’;
III.查看表创建语句:show create table 表名;
Iv.查看表结构:describe/desc 表名;show columns from 表名;