一、数据库的发展史
1、手工管理:藏书阁,图书馆。
优点:分类管理,直观性强
缺点:信息流动慢,不方便
2、文件管理:计算机文件系统,图书管理系统
优点:分类管理,层次分明
缺点:查找不方便
3、数据库管理:
优点:存取数据非常方便
缺点:有数据的安全隐患
二、数据库的概念
数据库:简称DB,按照某一特定数据结构来组织,是存储数据的仓库。
数据库管理系统:简称DBMS,是为了建立、操作和维护数据库二设计的程序,介于用户和数据库之间。
使用SQL语言,通过数据库管理系统来管理数据库。
三、关系型数据库
1、所谓的关系,指的就是表,或者表和表之间的关系模型,就是表的行与列。比如 教师(教师编号,姓名,年龄,性别,科目)。
2、常用的关系型数据库:
大型:Oracle、SqlServer、DB2
小型:Access、Mysql
四、MySQL数据库
1、MySQL是一个关系型数据库。
2、MySQL特点: (1)开源 (2)支持大型数据库 (3)支持多操作系统 (4)成本比较小
3、基本使用命令:
(1)查询数据库:show databases;
(2)选择数据库:use 数据库名;
(3)书写SQL
(4)查询数据库中的表:show tables;
五、表(table)
1、表是关系型数据库的基本存储结构,基本组成单位。
2、表是二维数据结构,有行和列,行是记录,列是字段,行和列的交叉点为字段值,表和表之间也存在关系。
六、数据库支持的数据类型
MySQL支持多种类型,大致分为三类:数值、日期/时间和字符串(字符)类型。
(1)数值类型:
类型 | 大小(字节) | 范围(有符号) | 用途 |
TINYINT | 1 | (-128,127) | 小整数值 |
SMALLINT | 2 | (-32768,32767) | 大整数值 |
MEDIUMINT | 3 | (-8388608,8388607) | 大整数值 |
INT或INTEGER | 4 | (-2147483648,2147483647) | 大整数值 |
BIGINT | 8 | (-9233372036854775808,9223372036854775807) | 极大整数值 |
FLOAT | 4 | 单精度 | 浮点数值 |
DOUBLE | 8 | 双精度 | 浮点数值 |
(2)日期和时间类型:
类型 | 大小(字节) | 范围 | 格式 | 用途 |
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 年某时 | YYYYMMDD HHMMSS | 混合日期和时间值,时间戳 |
(3)字符串类型:
类型 | 大小(字节) | 用途 |
CHAR | 0-255 | 定长字符串 char(10) |
VARCHAR | 0-65535 | 变长字符串 |
TINYBLOB | 0-255 | 不超过 255 个字符的二进制字符串 |
TINYTEXT | 0-255 | 短文本字符串 |
BLOB | 0-65535 | 二进制形式的长文本数据 |
TEXT | 0-65535 | 长文本数据 |
MEDIUMBLOB | 0-16777215 | 二进制形式的中等长度文本数据 |
MEDIUMTEXT | 0-16777215 | 中等长度文本数据 |
LOGNGBLOB | 0-4294967295 | 二进制形式的极大文本数据 |
LONGTEXT | 0-4294967295 | 极大文本数据 |
七、结构化查询语言(SQL)
1、SQL是数据库的标准查询语言,可以通过DBMS对数据库进行定义数据,操纵数据,查询数据,数据控制等。
2、SQL可以分为:
(1)数据定义语言(Data Definition Language),简称DDL,常用语句为:
1⃣️ 创建表create:
create table 表名(
字段一 类型,
字段二 类型,
字段三 类型
)
2⃣️ 删除表drop:
drop table 表名
3⃣️ 修改表alter:
向表最后追加新字段:alter table 表名 add ( 字段名 字段类型)
删除表字段:alter table 表名 drop 字段名
修改表字段类型: alter table 表名 modify 字段名 新类型
修改表字段名称: alter table 表名 change 旧字段名 新字段名 新字段名类型
修改表名:alter table 旧表名 rename 新表名
4⃣️ 查看表结构:
desc 表名
结果:Field Type Null Key Default Extra
ename varchar(20) YES
ageone int(11) YES
school varchar(20) YES
5⃣️ 清空表,彻底清空,无法找回(只删除表中的记录,保留表的结构)
truncate 表名
create table maomao(
ename varchar(20),
age int,
school varchar(20)
);
alter table maomao add(height int);
alter table maomao drop height;
alter table maomao modify age varchar(20);
alter table maomao change age ageone int;
alter table maomao rename maomaocute;
desc maomaocute;
truncate maomaocute
(2)数据操纵语言(DML):Data Manipulation Language
1⃣️ 插入数据insert
insert into tableName(字段1,字段2...,字段n) values (值1,值2...,值n)
insert into tableName values(值1,值2,..值n);
注:格式2要求插入的值必须和建表时字段的顺序相对应,否则容易出现错误
2⃣️ 删除数据delete
delete from 表名 [条件];
3⃣️ 修改数据update
update tableName set 字段1=值1,字段2=值2 [条件];
insert into maomaocute values("maomao","20","JiLin University")
update maomaocute set ageone="3" where ename = "maomao"
delete from maomaocute where ename = "maomao"
4⃣️ 创建数据库并指定字符集
create database maomao default character set utf8
(3)数据查询语言(DQL)
(4)数据控制语言(DCL)
(5)事物控制语言(TCL)
这三个部分会在以后的博客中细说。