一、数据库与表的概念
数据库:存储数据的容器(对比仓库去理解),一般情况一个数据库对应一个项目
表:真正的存储单元;表表示一个小模块
数据库与表的关系:一对多的关系,一个库里经常维护多个表
二、SQL
1)概念
SQL:结构化查询语言
SQL 是访问和处理数据库的标准计算机语言
2)SQL能做什么?
创建数据库、表等数据库对象
数据库记录的增、删、改、查
3)创建数据库
语法:create database 数据库名称
示例:创建测试的数据库
create database test;
备注:一般使用Navicat工具连接数据库
4)创建表
语法:create table <表名>(<字段1><类型1>,<字段2><类型2>......,<字段n><类型n> ) DEFAULT CHARSET = utf8;
解释:
- 字段名:用来标识表的一列
- 字段类型:用来声明每一个字段存储数据的类型,mysql中数据是有类型的(整数,小数,字符,时间)
- 字符集:UTF8,指定表支持中文数据存储
示例:创建student表
create table student(
id int not null PRIMARY key auto_increment,
name varchar(12),
sex varchar(12),
class_id int(11),
address varchar(12),
create_date datetime,
update_date datetime
) DEFAULT CHARSET = utf8;
- PRIMARY key:主键 -----唯一,且不能为空。用主键去定位查询,因为主键的唯一性
- auto_increment:自动增长(自动增加序号,但是删除某个值,序号不能接上),一般与PRIMARY key一起
- not null 不能为空,必须要填值------非空约束
- varchar:不定长字符串,定义了varchar(10),只用4个,不会去补齐
- char是固定长度。定义了char(10),只用4个,会去补齐空位,长度是10
使用Navicat建表,可预览sql:
5)常见字段类型
整型:
tinyint:占1个字符,取值范围-128~127
int:占4个字符,取值范围-2147483648~2147483647
字符串型:
char(n):n个字符,最多255个字符,固定长度
varchar(n):可变长度,最多65535个字符
时间日期:
data:日期,格式(yyyy-mm-dd ,例如:2020-08-31)
time:时间,格式(hh:mm:ss,例如:19:21:33)
datatime:日期时间,格式(yyyy-mm-dd hh:mm:ss,例如:2020-08-31 19:21:33)
浮点型(小数):
float(m,d):单精度浮点型,32bit,m代表总位数,d小数位
double(m,d):双精度浮点型,64bit,m代表总位数,d小数位
decimal(m,d):m代表总位数,d小数位,用于精度要求非常高的计算
decimal(3,7)规定了存储的值不会超过7位数字,并且小数点后不超过3位
三、总结
1)创建表声明字段时,字段之间以什么符合分隔?---英文逗号
2)创建表声明字段时,最后一个字段后面需要注意什么?---不需要加逗号
3)主键的特征是什么?---非空和唯一性
4)如果表需要支持中文数据存储,需要什么做?----建表的类型为varchar类型
5)创建了表,发现表没有出现。---刷新一下
6)Navicat里sql写完丢失了。---没有保存
7)学会分析错误:Err