一、数据库的发展史
(1)手工管理:藏书阁,图书馆
优点:分类管理,直观性强
缺点:信息流动慢,不方便
(2)文件管理:计算机的文件系统,图书管理系统
优点:分类管理,层次分明
缺点:查找不方便
(3)数据库管理
优点:存取数据非常方便
缺点:有数据的安全隐患
二、数据库概念
数据库(DataBase):简称DB, 按照某一特定数据结构俩组织, 存储数据的仓库
数据库管理系统(DataBase Management System), 简称DBMS, 是为了建立,操作和维护数据库而设计的一个程序,介于用户和数据库之间
PS: 使用SQL语言, 通过DBMS来管理DB
三、关系型数据库
(1)所谓的关系, 指的是表, 或者表与表之间的关系模型, 就是表的行与列. (比如: 教师(教师编号, 姓名, 年龄, 性别, 科目))
(2)常用的关系型数据库:
大型:
Oracle–甲骨文(Oracle)公司产品
SqlServer–Microsoft旗下产品
DB2–IBM旗下的产品
小型:
Access–Microsoft旗下产品
Mysql–甲骨文旗下产品
四、Mysql
- Mysql是一个关系型数据库, 最开始是瑞典的MysqlAB公司的产品, 后来被Sun公司收购, 在2009年4月20号Sun被Oracle收购
- Mysql的特点:
–Mysql是开源的,不会额外的费用
–Mysql支持大型数据库, 比如可以管理上千万条记录的数据库
–Mysql支持多操作系统, 支持多源连接: C, C++, java, …
–Mysql成本低,相比较Oracle和DB2.- Mysql的安装(略)
服务端的安装:DB和DBMS的安装
客户端的安装:自带的客户端
第三方客户端- Mysql的连接和使用
连接方式:
(1)使用命令提示符界面(保证环境变量配置成功)
第一步: 输入命令+参数, 发送请求连接
mysql -u root -p 回车
enter password :输入密码 回车
第二步: 创建数据库
create database bd1802 default character set utf8;
第三步:选择数据库
use bd1802;
(2)使用客户端连接: (选择sqldeveloper).
第一步: 配置第三方jdbc驱动程序
工具-->首选项-->数据库-->第三方驱动程序-->添加条目-->选中jar包-->确定
第二步: 新建连接
连接名:随便
用户名: 使用什么用户进行连接
密码:
主机号:数据库所在的主机
端口号:3306
选择数据库: 如db1802
五、表
是关系型数据库的基本存储结构.
1)表是二维数据结构, 有行和列
2)行(row)是横排数据, 也叫记录(recond)
3)列(column)是竖排数据, 也叫字段(field)
4)行与列的交叉点是字段值
5)表与表之间也存在关系
例:
六、数据库支持的数据类型
MySQL支持多种类型,大致可以分为三类:
数值、日期/时间和字符串(字符)类型。
数值类型:
类型 | 大小 | 范围(有符号) | 用途 |
---|---|---|---|
TINYINT | 1 字节 | [-128,127] | 小整数值 |
SMALLINT | 2 字节 | [-32 768,32 767] | 大整数值 |
MEDIUMINT | 3 字节 | [-8 388 608,8 388 607] | 大整数值 |
INT或INTEGER | 4 字节 | [-2 147 483 648,2 147 483 647] | 大整数值 |
BIGINT | 8 字节 | [+-9 223 372 036 854 775 807] | 极大整数值 |
FLOAT | 4 字节 | 单精度浮点数值 | |
DOUBLE | 8 字节 | 双精度浮点数值 |
DECIMAL 对DECIMAL(M,D) ,如果M>D,为M+2否则为D+2 依赖于M和D的值 依赖于M和D的值 小数值
日期和时间类型:
类型 | 大小(字节) | 范围 | 格式 | 用途 |
---|---|---|---|---|
DATE | 3 | 1000-01-01/9999-12-31 | YYYY-MM-DD | 日期值 |
TIME | 3 | ‘-838:59:59’/’838:59:59’ | HH:MM:SS | 时间值或持续时间 |
YEAR | 1 | 1901/2155 | YYYY | 年份值 |
DATETIME | 8 | 1000-01-01 00:00:00/9999-12-31 23:59:59 | YYYY-MM-DD HH:MM:SS | 混合日期和时间值 |
TIMESTAMP | 8 | 1970-01-01 00:00:00/2037-12-31 | YYYYMMDD HHMMSS | 混合日期和时间值,时间戳 |
字符串类型:
类型 | 大小 | 用途 |
---|---|---|
CHAR | 0-255字节 | 定长字符串char(10) |
VARCHAR | 0-65535 字节 | 变长字符串 |
TINYBLOB | 0-255字节 | 不超过 255 个字符的二进制字符串 |
TINYTEXT | 0-255字节 | 短文本字符串 |
BLOB | 0-65 535字节 | 二进制形式的长文本数据 |
TEXT | 0-65 535字节 | 长文本数据 |
MEDIUMBLOB | 0-16 777 215字节 | 二进制形式的中等长度文本数据 |
MEDIUMTEXT | 0-16 777 215字节 | 中等长度文本数据 |
LOGNGBLOB | 0-4 294 967 295字节 | 二进制形式的极大文本数据 |
LONGTEXT | 0-4 294 967 295字节 | 极大文本数据 |