一、创建数据库
数据库Database,就是存储数据的仓库
MySQL自带4个数据库:
informatio_schema
mysql
performance_schema
以上三个表都是系统自带表,尽量不要对其进行误操作
test
可以在test中进行测试
创建数据库
右键root@127.0.0.1(localhost),点击新建数据库
删除数据库
右键要删除的数据库 -> 更多数据库操作 -> 删除数据库
二、创建表
创建数据库test_school,用于存储学校内的数据
创建表test_student,用于存储学生的信息
三、数据类型
向表添加一列(字段)时,需指定列的数据类型
数据类型大致分为5类
1、整数
int tinyint smallint bigint
2、字符串:短文本
char varchar
3、浮点数
double float
4、日期时间
date日期 time时间 datetime日期+时间 timestamp
5、大块数据:长文本
tinytext text mediumtext longtext blob
整数类型
tinyint:1字节
smallint:2字节
mediumint:3字节
int:4字节
bigint:8字节
浮点类型
double:8字节
float:4字节
字符串类型
char:固定长度字符串
varchar:可变长度字符串
注意:使用字符串类型必须指定最大长度
日期/时间类型
datetime:日期时间 2020-10-3 18:48:00
date:日期
time:时间
timestamp:时间戳(字1970-01-01 00:00:00)
year:年份
大块数据类型
BLOB(binary large object)二进制大对象
text:存储大段文本数据
blob:存储大段字节数据
其中
text又分tinytext,text(65K),mediumtext(16M),longtext(4G)
列的属性
列名:列的名称
数据类型:该列存储何种格式的数据
长度:对于varchar/text来说,指最大空间
默认值:添加一行时该列的默认值
非空:是否允许空值
主键:将某个字段设置为主键
自增:
列名Column Name
可以是中文,但通常用英文或拼音
推荐命名规范:
a、不要使用SQL里的关键词
b、使用有意义的单词或简写
c、第一个单词小,与java兼容,减少麻烦
数据类型Date Type
初学者常用:
int/bigint
double
varchar
datetime/date
长度Length
对于varchar/text字段,需要设置最大长度
不区分中英文,按字符数统计
对于其他类型,不需要设置长度(意义不大)
例如:int(4)表示最小显示宽度为4,不足时凑空格或0(需勾选ZeroFill属性)
非空Not Null
空值NULL:指这一列的值尚未设置
当一列设置为“非空”时,表示该列不允许空值
默认值Default Value
当添加一行时,若某列的值未设置,则自动填一个默认值
主键Primary Key
当创建一个表时,可以将某个字段设置为主键
Primary Key,即唯一标识
例如:在student表中,可以将id设为主键,因为id可以唯一标识一行记录
主键设计遵循以下原则
1、可以唯一标识一条记录(不允许重复)
2、通常为由整型或字符串型(短字符串)
3、一个表最多只有一个主键
4、主键与数据库里的列的位置无关
5、建议所有的表都设置主键
主键的作用
主键唯一标识一行记录
MySQL会把主键单独拿出来,存为一个索引,排序后存储(方便后序的查找)
整数主键的查找速度更快
自增Auto-Increment
当以整型字段为主键时,可以同时设置为自增
所谓自增,即插入记录时,由MySQL来生成ID,保证ID是自增的(每次加1)
自增是一个非常常用的属性,与主键配合使用
自增的起点
新建的表,默认从1开始
或表中有数据,从上一个最大值开始
过号作废,不重复
可以指定起点(改变表 ->高级 -> 自动增量)