目录
创建数据库表t_student,建立一张用于存储学生信息的表,约束如下:
- 字段包括学号、姓名、性别、年龄、入学日期、班级、email等信息
- 学号是主键(不为空且唯一)
- 如果主键是整数类型那么必须自增
- 姓名不能为空
- 性别默认值为男
- 性别只能是男或女
- email唯一
- 年龄只能在18-50之间
一、创建数据库:
右键testconn新建数据库(名字自己取)
二、创建表t_student:
两种方法:一种是在图形界面直接右键新建,第二种利用SQL语句新建(新建查询就可以写对应SQL语句了,单行注释用##或-- 开头,多行注释用/*开头*/结尾)
1、图像界面:
2、SQL语句:
选择要运行的部分--右键--运行已选择即可运行,表已创建完成
一些常见命令:
![]()
三、数据库表列类型:
1.整数类型:
其中,用的最多的是int类型,MySQL支持选择在该类型关键字后面的括号内指定整数值的显示宽度(如:int(6)),但是显示宽度并不限制可以在列内保存的值的范围,也不限制超过列的指定宽度的显示,可以自动扩充。
整数关键字自增约束:auto_increment,只能是列级约束(使用该约束如果主键没有设定值或者用null或default都可以完成主键自增的效果)如果sql报错,可能主键就浪费了,后续插入的主键是不连号的,但是没事,因为主键不要求连号
2、浮点数类型:
浮点数类型的宽度不会自动扩充,如double(4,1)指的是小数部分为1位,总宽度4并且不会自动扩张。
3、字符串类型:
char和varchar相似,都是用来存储较短的字符串,但存储方式不同,char类型长度固定,varchar类型长度可变。在不确定该字段具体需要多少字符时用VARCHAR类型,因为此类型可以根据字符串的实际长度来动态改变所占字节大小。char和varchar都表示的是字符的个数而不是字节的个数。
4、日期和时间类型:
timestamp类型与datetime类型基本相同,主要区别:
- TIMESTAMP类型的取值范围更小
- 当对TIMESTAMP类型的字段没有明确的赋值或者是被赋予了NULL,则MySQL会自动将该字段赋值为系统当前的日期与时间
- TIMESTAMP类型可以使用current_TIMESTAMP来获取系统当前时间
- TIMESTAMP类型时间是根据时区来显示的