mysql数据类型
1 问题
• 本案例要求熟悉MySQL的字段数据类型、表结构,各种时间函数的使用的使用,完成以下任务操作:
• 在studb库里创建stuinfo表,表结构、字段类型自定义
• 表结构自定义,并合理使用数据类型
• 练习各种时间函数的使用
步骤
实现此案例需要按照如下步骤进行。
步骤一:创建studb库、stuinfo表
1)新建studb库,并切换到studb库
mysql> CREATE DATABASE studb;Query OK, 1 row affected (0.00 sec)mysql> USE studb;Database changed
2)新建stuinfo表
假定stuinfo表用来记录每个家庭成员的姓名(name)、性别(gender)、出生日期(birth)、职业(job)、与户主关系(relation)。
mysql> CREATE TABLE stuinfo (-> name varchar(16) NOT NULL,-> gender enum(\'male\',\'femal\') DEFAULT \'male\',-> birth date NOT NULL,-> job varchar(16) DEFAULT \'\',-> relation varchar(24) NOT NULL,-> PRIMARY KEY(name)-> );Query OK, 0 rows affected (0.61sec)
查看stuinfo表的字段结构
mysql> DESC stuinfo;+----------+----------------------+------+-----+---------+-------+| Field | Type | Null | Key | Default | Extra |+----------+----------------------+------+-----+---------+-------+| name | varchar(16) | NO | PRI | NULL | || gender | enum(\'male\',\'femal\') | YES | | male | || birth | date | NO | | NULL | || job | varchar(16) | YES | | | || relation | varchar(24) | NO | | NULL | |+----------+----------------------+------+-----+---------+-------+5 rows in set (0.00 sec)
步骤二:练习各种时间函数的使用
1)使用now()查看当前的日期和时间
mysql> SELECT now();+---------------------+now() |+---------------------+| 2017-04-02 04:02:42 |+---------------------+1 row in set (0.00 sec)
2)使用sysdate查看系统日期和时间
mysql> SELECT sysdate();+---------------------+| sysdate() |+---------------------+| 2017-04-02 04:03:21 |+---------------------+1 row in set (0.00 sec)
3)使用curdate()获得当前的日期,不含时间
mysql> SELECT curdate();+------------+| curdate() |+------------+| 2017-04-02 |+------------+1 row in set (0.00 sec)
4)使用curtime()获得当前的时间,不含日期
mysql> SELECT curtime();+-----------+curtime() |+-----------+| 04:04:55+-----------+1 row in set (0.00 sec)
5)分别获取当前日期时间中的年份、月份、日
mysql> SELECT year(now()),month(now()),day(now());+-------------+--------------+------------+| year(now()) | month(now()) | day(now()) |+-------------+--------------+------------+| 2017 | 4 | 2 |+-------------+--------------+------------+1 row in set (0.00 sec)
6)获取系统日期时间中的月份、日
mysql> SELECT month(sysdate()),day(sysdate());+------------------+----------------+| month(sysdate()) | day(sysdate()) |+------------------+----------------+| 4 | 2 |+------------------+----------------+1 row in set (0.00 sec)
7)获取系统日期时间中的时刻
mysql> SELECT time(sysdate());+-----------------+| time(sysdate()) |+-----------------+| 04:06:08 |+-----------------+1 row in set (0.00 sec)