第 1 章数据库概述
1.1、数据存储方式
1.人工管理阶段:人工整理和保存
2.文件系统阶段:数据没有结构化处理,查询不方便
3.数据库系统阶段:表是数据库存储数据的基本单位、数据库和表都存在磁盘上,通过数据库管理系统来处理数据、现在使用最多的是关系型数据库:Oracle、SQL Server、Mysql等,关系型数据库中的表都是二维表。
4.扩展:一维表被称为流水线表格,一维表每个数据都只有一个对应值,而二维表每个数据有两个对应值。
1.2、数据库泛型
数据库泛型就是数据库应该遵循的规则。数据库泛型也称为范式。目前关系数据库最常用的四种范式分别是: 第一范式(1NF)、第二范式(2NF)、第三范式(3NF)和BCN范式(BCNF)
1.第一范式(1NF):数据库需要满足的最低要求的范式,要求包括:表中不能有重复字段,并且每个字段不能再拆分。 2. 至少满足第一范式的数据库,才能称之为关系型数据库,能够满足第三范式的数据库算是很好的数据库,已基本无冗余。 3. 现在大部分的管理系统和软件都需要使用数据库来存储数据。
4. 数据库系统(DataBase System,简称为DBS)包括:数据库(存储数据的地方)、数据库管理系统(DataBase Management System,简称为DBMS)、数据库管理员(DataBase Administrator,简称为DBA)、用户(User)、应用开发工具(Application development tool)。
5. 数据库管理系统(DataBase Management System,简称为DBMS):用来定义数据、管理和维护数据的软件。
1.3、SQL语言
1. SQL(Structured Query Language)语言:结构化查询语言。 2. 数据库管理系统通过SQL语言来管理数据库中的数据。 3. SQL语言分为三个部分:
数据定义语言(DDL :Data Definition Language):定义数据库、表、视图、索引、触发器等,包括:Create、Alter、Drop语句。
数据操作语言(DML:Data Manipulation Language):插入、查询、更新、删除,包括: Insert、Select、Update、Delete语句。
数据控制语言(DCL:Data Control Language):控制用户访问的权限,包括:Grant、Revoke语句。
1.4、为什么要使用MySQL
1. MySQL是开放源代码的数据库 2. MySQL的跨平台性 3. 价格优势
4. 功能强大且使用方便
1.5、常见数据库系统
1. 甲骨文的Oracle:第一个支持SQL语言的数据库,目前公认最优秀的数据库 2. IBM的DB2
3. 微软的Access和SQL Server:只能在windows系统上运行 4. 开源PostgreSQL 5. 开源MySQL 6. 文件数据库SQLite,
7. 内存数据库HQL
第 2 章 Windows平台下安装与配置MySQL
1. \ 强烈建议选上,不然要手动配置path路径;
2. 登录数据库:mysql -h localhost -u root –ppassword 【localhost:127.0.0.1\\\\ 如输密码,和-p之间不能有空格)】 3. update user set password=password(\新密码\ 4. 密码要用password()函数加密一下
5. 卸载:可以在控制面板里卸载、最好通过原来安装包,双击,选\卸载,较彻底 6. 启动/关闭服务:net start/stop mysql
7. 修改密码:mysqladmin -u root -p password \新密码\ 1)password相当于函数;2)新密码要用双引号扩起来 8. MySQL的图形管理工具:1)MySQL GUI Tools:Mysql官方提供的图形工具;2)phpMyAdmin:基于PHP语言开发;3)Navicat:界面友好,管理方便,支持中文;4)SQLyog:基于C++语言开发。
9. Mysql数据库中最常用的字符集:1)Latinl:西欧的语言;2)Utf8:国际字符集,支持汉语、日文、韩文;3)Gbk:中国汉字的字符集 ,如果主要是存储汉语和英文,用此即可。
第3章 Linux平台下安装与配置Mysql(过) 第 4 章 MySQL数据类型
4.1、整数类型
tinyint(4) smallint(6) mediumint(9) int(11) bigint(20)
注意:后面的是默认显示宽度,以int为例,占用的存储字节数是4个,即4*8=32位,2的32次方,无符号的最大能达到4亿多。 tinyint(4)相当于bool型
4.2、浮点数
float double decimal(m,d)
decimal(6,2)定义的数字形如1234.56,指总长6位,小数点后精确到2位
4.3、日期和时间
year 年 date 日期 time 时间
datetime 日期时间
timestamp 时间(时区),范围小,支持时区 datetime最通用,year,date,time可以节省一些空间。
4.4、字符串
char(m) 定长 varchar(m) 不定长
enum,set和其它库不兼容,可暂不用
tinytext text mediumtext longtext
4.5、二进制
binary(m) varbinary(m) bit(m) tinyblob blob mediumblob longblob