1.MySQL数据类型
1、常见信息种类
- 数值型:体重、身高、成绩、工资
- 字符型:姓名、工作单位、住址
- 枚举型:兴趣爱好、性别、专业
- 日期时间型:出生日期、注册时间等
2、字符类型
2.1、定长:char(字符个数)
- 最大字符个数255
- 不够指定字符个数是在右边用空格补全
- 字符个数超出时,无法写入数据
2.2、变长:varchar(字符个数)
- 最大65532个字符
- 按数据实际大小分配存储空间
- 字符个数超出时,无法写入数据
2.3、大文本类型blob、text
- 字符大于65535存储时使用
3、数值类型
3.1、整数型
- 只能存整数,不能有小数点,有小数点的情况下四舍五入变整数
- 超出范围时,不输入
3.2、浮点型
- 格式1:字段名 类型;
- 格式2:字段名 类型(总宽度,小数位数)
4、日期时间类型
- 日期时间 datetime
当没有给datetime字段赋值时,值为空NULL
范围:1000-01-01 00:00:00~9999-12-31 23:59:59
格式:yyyymmddhhmmss - 日期时间 timestamp
当没有给timestamp字段赋值时,自动以当前系统时间赋值
范围:1970-01-01 00:00:00~2038-01-19 00:00:00
格式:yyyymmddhhmmss
mysql> create table t1 (name char(10) , meetting timestamp , part datetime );
Query OK, 0 rows affected (0.00 sec)
mysql> insert into t1 values ("bob" , 20200415214530 , 20200316183000);
Query OK, 1 row affected (0.00 sec)
mysql> select * from t1;
mysql> insert into t1(name ,part) values("tom",20191224083000);
Query OK, 1 row affected (0.01 sec)
mysql> select * from t1;
- 日期 date
范围:0001-01-01~9999-12-31
格式:yyyymmdd - 年 year
要求使用4位数赋值
当使用2位数赋值时:
01~69视为 2001~2069
70~99视为 1970~1999
范围:1901~2155
格式:yyyy - 时间 time
格式 HH:MM:SS
mysql> insert into t2 values("zbzhz",59);
Query OK, 1 row affected (0.00 sec)
mysql> select * from t2;
mysql>create table db1.t8 ( name char(10) , start_y year , up_time time , birthday date , meeting datetime );
mysql>insert into db1.t8 values ("bob",2000,083000,20201120,20200418200000);
mysql>select * from db1.t8 ;
- 时间函数
- MySQL服务内置命令
可以使用时间函数给字段赋值
mysql> select curtime();
mysql> select curdate();
mysql> select now() ;
mysql> select curdate();
mysql> select year( curdate() );
mysql> select date(now());
mysql> select day(now());
mysql>insert into db1.t8 values ("tom" , year( curdate() ), curtime() , curdate() , now() );
--使用系统当前的时间为系统赋值
mysql>select * from db1.t8 ;
5、枚举型
字段的值只能在列举的范围内选择
- enum单选
格式:字段名 enum(值1,值2,值3,…)
仅能选择一个值
字段值必须在列表里选择 - 多选 set(值列表)
格式:字段名 set(值1,值2,值3,…)
选择一个值或者多个
字段值必须在列表里选择
create table db1.t6(name char(15) , likes set("money","game","eat","music") , sex enum("boy","girl" , "no" ) );
mysql> insert into db1.t6 values( "tom" , "money,eat,game" , "boy");
Query OK, 1 row affected (0.00 sec)
评论(0)
您还未登录,请登录后发表或查看评论