如何创建一个创建MySQL数据库中的datetime类型


Posted in MySQL onMarch 21, 2022

环境系统平台:Microsoft Windows (64-bit) 10版本:4.5

瀚高数据库中支持使用以下语句创建用户定义的数据类型:

  • ​CREATE DOMAIN​:它创建了一个用户定义的数据类型,可以有可选的约束,基于其他基本类型,实质是定义一个域。
  • ​CREATE TYPE​:它通常用于使用存储过程创建复合类型(两种或多种数据类型混合的数据类型)。

一、domain用法及示例

假如有以下表结构:

create table test_domain (id varchar,md5 text not null check(length(md5)=32));

其中md5列的类型及约束,可以定义一个domain来抽象,如下:

highgo=# create domain md5 as

highgo-# text not null

highgo-# check (

highgo(#     length(value) = 32

highgo(# );

CREATE DOMAIN

highgo=# 

highgo=# \dD md5

                                  List of domains

 Schema | Name | Type | Collation | Nullable | Default |           Check            

--------+------+------+-----------+----------+---------+----------------------------

 public | md5  | text |           | not null |         | CHECK (length(VALUE) = 32)

(1 row)

highgo=# create table test_domain (id varchar,md5 md5);

CREATE TABLE

highgo=# insert into test_domain values('1','2');

ERROR:  value for domain md5 violates check constraint "md5_check"

highgo=# insert into test_domain values('2','76a2173be6393254e72ffa4d6df1030a');

INSERT 0 1

二、创建MySQL中datetime类型

highgo=# create domain datetime as timestamp without time zone;

highgo=# create table t_time (id int,create_time datetime);

CREATE TABLE

highgo=# \d+ t_time

                                     Table "public.t_time"

   Column    |   Type   | Collation | Nullable | Default | Storage | Stats target | Description 

-------------+----------+-----------+----------+---------+---------+--------------+-------------

 id          | integer  |           |          |         | plain   |              | 

 create_time | datetime |           |          |         | plain   |              | 

Access method: heap

highgo=# insert into t_time values (1,now()),(2,now());

INSERT 0 2

highgo=# 

highgo=# select * from t_time;

 id |        create_time         

----+----------------------------

  1 | 2021-08-03 19:28:11.207324

  2 | 2021-08-03 19:28:11.207324

(2 rows)

三、create type用法及示例

CREATE TYPE name AS

    ( [ attribute_name data_type [ COLLATE collation ] [, ... ] ] )

CREATE TYPE name AS ENUM

    ( [ 'label' [, ... ] ] )

CREATE TYPE name AS RANGE (

    SUBTYPE = subtype

    [ , SUBTYPE_OPCLASS = subtype_operator_class ]

    [ , COLLATION = collation ]

    [ , CANONICAL = canonical_function ]

    [ , SUBTYPE_DIFF = subtype_diff_function ]

)

CREATE TYPE name (

    INPUT = input_function,

    OUTPUT = output_function

    [ , RECEIVE = receive_function ]

    [ , SEND = send_function ]

    [ , TYPMOD_IN = type_modifier_input_function ]

    [ , TYPMOD_OUT = type_modifier_output_function ]

    [ , ANALYZE = analyze_function ]

    [ , INTERNALLENGTH = { internallength | VARIABLE } ]

    [ , PASSEDBYVALUE ]

    [ , ALIGNMENT = alignment ]

    [ , STORAGE = storage ]

    [ , LIKE = like_type ]

    [ , CATEGORY = category ]

    [ , PREFERRED = preferred ]

    [ , DEFAULT = default ]

    [ , ELEMENT = element ]

    [ , DELIMITER = delimiter ]

    [ , COLLATABLE = collatable ]

)

CREATE TYPE name

创建示例:

CREATE TYPE compfoo AS (f1 int, f2 text);

CREATE FUNCTION getfoo() RETURNS SETOF compfoo AS $$

    SELECT fooid, fooname FROM foo

$$ LANGUAGE SQL;

CREATE TYPE bug_status AS ENUM ('new', 'open', 'closed');

CREATE TABLE bug (

    id serial,

    description text,

    status bug_status

);

CREATE TYPE float8_range AS RANGE (subtype = float8, subtype_diff = float8mi);

到此这篇关于如何创建一个创建MySQL数据库中的datetime类型的文章就介绍到这了,更多相关创建datetime类型内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

MySQL 相关文章推荐
浅析InnoDB索引结构
Apr 05 MySQL
MySQL获取所有分类的前N条记录
May 07 MySQL
MySQL 如何设计统计数据表
Jun 15 MySQL
MySQL里面的子查询的基本使用
Aug 02 MySQL
面试提问mysql一张表到底能存多少数据
Mar 13 MySQL
MySQL Server 层四个日志
Mar 31 MySQL
MySQL 条件查询的常用操作
Apr 28 MySQL
MySQL如何使备份得数据保持一致
May 02 MySQL
Mysql 文件配置解析介绍
May 06 MySQL
sql查询语句之平均分、最高最低分及排序语句
May 30 MySQL
MySQL解决Navicat设置默认字符串时的报错问题
Jun 16 MySQL
MySQL中LAG()函数和LEAD()函数的使用
Aug 14 MySQL
mysql 获取时间方式
Mar 20 #MySQL
mysql 生成连续日期及变量赋值
Mar 20 #MySQL
MySQL派生表联表查询实战过程
MySQL学习之基础命令实操总结
Mar 19 #MySQL
MySQL学习之基础操作总结
Mar 19 #MySQL
Pycharm远程调试和MySQL数据库授权问题
Mar 18 #MySQL
MySQL 主从复制数据不一致的解决方法
You might like
php中的curl使用入门教程和常见用法实例
2014/04/10 PHP
CodeIgniter模板引擎使用实例
2014/07/15 PHP
Dojo 学习笔记入门篇 First Dojo Example
2009/11/15 Javascript
showModalDialog模态对话框的使用详解以及浏览器兼容
2014/01/11 Javascript
JavaScript中Number.MAX_VALUE属性的使用方法
2015/06/04 Javascript
js正则表达式中exec用法实例
2015/07/23 Javascript
jquery选择器简述
2015/08/31 Javascript
JS实现合并两个数组并去除重复项只留一个的方法
2015/12/17 Javascript
详谈angularjs中路由页面强制更新的问题
2017/04/24 Javascript
动态加载权限管理模块中的Vue组件
2018/01/16 Javascript
javascript实现最长公共子序列实例代码
2018/02/05 Javascript
vue2.0 + element UI 中 el-table 数据导出Excel的方法
2018/03/02 Javascript
Vue2.0中集成UEditor富文本编辑器的方法
2018/03/03 Javascript
vue.js实现点击后动态添加class及删除同级class的实现代码
2018/04/04 Javascript
小程序实现展开/收起的效果示例
2018/09/22 Javascript
微信小程序使用车牌号输入法的示例代码
2019/08/20 Javascript
js实现二级联动简单实例
2020/01/11 Javascript
JQuery Ajax如何实现注册检测用户名
2020/09/25 jQuery
微信小程序实现滚动Tab选项卡
2020/11/16 Javascript
Python实现各种排序算法的代码示例总结
2015/12/11 Python
使用Python对SQLite数据库操作
2017/04/06 Python
解决pycharm无法调用pip安装的包问题
2018/05/18 Python
Python爬虫动态ip代理防止被封的方法
2019/07/07 Python
python生成器用法实例详解
2019/11/22 Python
一文读懂Python 枚举
2020/08/25 Python
英国领先的餐饮折扣俱乐部:Gourmet Society
2020/07/26 全球购物
人力资源行政经理自我评价
2013/10/23 职场文书
高级护理专业大学生求职信
2013/10/24 职场文书
《九色鹿》教学反思
2014/02/27 职场文书
法律进社区实施方案
2014/03/21 职场文书
反腐倡廉心得体会2016
2016/01/13 职场文书
导游词之蓬莱长岛
2019/12/17 职场文书
在pyCharm中下载第三方库的方法
2021/04/18 Python
Vue Element-ui表单校验规则实现
2021/07/09 Vue.js
MySQL如何解决幻读问题
2021/08/07 MySQL
Python Matplotlib绘制等高线图与渐变色扇形图
2022/04/14 Python