数据库(MySQL)
1.数据库的简介
1.1什么是数据库:
数据库(DataBase),一种数据仓库,安装在操作系统(Windows,Linux,mac)上的软件,可以存贮大量数据
作用:存储数据,管理数据
1.2数据库的分类:
关系型数据库:(SQL)
-
如MySQL,Oracle,DB2,SQL server等
-
通过表和表之间,列和行之间的进行数据存储(学院信息表,考勤表…)
非关系型数据库:(NoSQL)
- 如Redis,momgDB
- 以对象的形式存储数据,通过对象自身的属性来决定操作
1.3数据库的字段属性
时间类型:
date | 3字节,日期,格式:2014-09-18 |
---|---|
time | 3字节,时间,格式:08:42:30 |
datetime | 8字节,日期时间,格式:2014-09-18 08:42:30 |
timestamp | 4字节,自动存储记录修改的时间 |
year | 1字节,年份 |
整型
tinyint | 1字节,范围(-128~127) |
---|---|
smallint | 2字节,范围(-32768~32767) |
mediumint | 3字节,范围(-8388608~8388607) |
int | 4字节,范围(-2147483648~2147483647) |
bigint | 8字节,范围(±9.22*10的18次方) |
浮点型
float(m, d) | 4字节,单精度浮点型,m总个数,d小数位 |
---|---|
double(m, d) | 8字节,双精度浮点型,m总个数,d小数位 |
decimal(m, d) | decimal是存储为字符串的浮点数 |
字符串数据类型
char(n) | 固定长度,最多255个字符 |
---|---|
varchar(n) | 可变长度,最多65535个字符 |
tinytext | 可变长度,最多255个字符 |
text | 可变长度,最多65535个字符 |
mediumtext | 可变长度,最多2的24次方-1个字符 |
longtext | 可变长度,最多2的32次方-1个字符 |
char(n)和varchar(n)中括号中n代表字符的个数,并不代表字节个数,所以当使用了中文的时候(UTF8)意味着可以插入m个中文,但是实际会占用m*3个字节。
2.SQL语句
2.1操作数据库
创建数据库:
CREATE DATABASE [IF NOT EXISTS] ==数据库名称==
删除数据库:
DROP DATABASE [IF EXISTS] ==数据库名称==
使用数据库:
USE `==数据库名称==`
查看数据库:
SHOW DATABASES --查看所有数据库
SQL语句创建表格式(中括号里面的表示可加可不加):
CREATE TABLE [IF NOT EXISTS] `==表的名称==`(
`字段名称` 列类型 [属性] [索引] [注释],
`字段名称` 列类型 [属性] [索引] [注释],
........
`字段名称` 列类型 [属性] [索引] [注释],
)表的类型 字符集 [注释]
查SQL看命令:
SHOW CREATE DATABASE ==数据库名称为== --查看创建数据库的语句
SHOW CREATE TABLE ==表名称== --查看创建表的语句
DESC ==表名称== --查看表的结构
2.2修改和删除数据表
-
修改
--修改表名:ALTER TABLE 旧表名 RENAME AS 新表名 ALTER TABLE `teacher` RENAME AS `tercher1` --增加表的字段:ALTER TABLE 表名 ADD 字段名 列属性 ALTER TABLE teacher1 ADD age INT(3) --修改表的字段(修改约束&重命名) --ALTER TABLE 表名 MODIFY 字段名 列属性[] ALTER TABLE teacher MODIFY age VARCHAR(11) --修改约束 --ALTER TABLE 表名 CHANGE 旧名字 新名字 列属性[] ALTER TABLE `teacher` CHANGE `age` `age1` INT(1) --字段重命名
change用来字段重命名,不能修改字段类型和约束;
modify只能用来修改字段类型和约束,不能字段重命名。
-
删除