如何创建一个创建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 相关文章推荐
MySQL学习总结-基础架构概述
Apr 05 MySQL
多表查询、事务、DCL
Apr 05 MySQL
mysql5.7使用binlog 恢复数据的方法
Jun 03 MySQL
Unity连接MySQL并读取表格数据的实现代码
Jun 20 MySQL
MySQL8.0.18配置多主一从
Jun 21 MySQL
MySQL里面的子查询的基本使用
Aug 02 MySQL
一篇文章带你深入了解Mysql触发器
Aug 02 MySQL
MySQL中的隐藏列的具体查看
Sep 04 MySQL
MySQL空间数据存储及函数
Sep 25 MySQL
一文带你探究MySQL中的NULL
Nov 11 MySQL
MySQL利用UNION连接2个查询排序失效详解
Nov 20 MySQL
Linux7.6二进制安装Mysql8.0.27详细操作步骤
Nov 27 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
php4的session功能评述(三)
2006/10/09 PHP
PHP define函数的使用说明
2008/08/27 PHP
ThinkPHP3.2.2实现持久登录(记住我)功能的方法
2016/05/16 PHP
PHP程序守护进程化实现方法详解
2020/07/16 PHP
一个多次搜索+多次传值的解决方案
2007/01/20 Javascript
JS location几个方法小姐
2008/07/09 Javascript
Prototype使用指南之selector.js说明
2008/10/26 Javascript
JavaScript Title、alt提示(Tips)实现源码解读
2010/12/12 Javascript
offsetHeight在OnLoad中获取为0的现象
2013/07/22 Javascript
jquery用data方法获取某个元素上的事件
2014/06/23 Javascript
javascript中alert()与console.log()的区别
2015/08/26 Javascript
jQuery实现获取绑定自定义事件元素的方法
2015/12/02 Javascript
Node.js包管理器Yarn的入门介绍与安装
2016/10/17 Javascript
javascript中数组(Array)对象和字符串(String)对象的常用方法总结
2016/12/15 Javascript
easyui-datagrid特殊字符不能显示的处理方法
2017/04/12 Javascript
详解Vue2.X的路由管理记录之 钩子函数(切割流水线)
2017/05/02 Javascript
使用vux实现上拉刷新功能遇到的坑
2018/02/08 Javascript
layui字体图标 loading图标静止不旋转的解决方法
2019/09/23 Javascript
[00:12]DAC2018 no[o]ne亮相SOLO赛 他是否如他的id一样无人可挡?
2018/04/06 DOTA
python操作MySQL数据库的方法分享
2012/05/29 Python
用Python输出一个杨辉三角的例子
2014/06/13 Python
Python编写简单的HTML页面合并脚本
2016/07/11 Python
Python发送手机动态验证码代码实例
2020/02/28 Python
浅谈opencv自动光学检测、目标分割和检测(连通区域和findContours)
2020/06/04 Python
python文件编写好后如何实践
2020/07/07 Python
Python 虚拟环境工作原理解析
2020/12/24 Python
python利用appium实现手机APP自动化的示例
2021/01/26 Python
台湾饭店和机票预订网站:Expedia台湾
2016/08/05 全球购物
福克斯租车:Fox Rent A Car
2017/04/13 全球购物
毕业证丢失证明
2014/01/15 职场文书
计算机学生求职信范文
2014/01/30 职场文书
校运会入场式解说词
2014/02/10 职场文书
员工年终自我评价
2014/09/14 职场文书
六一亲子活动感想
2015/08/07 职场文书
Win11应用商店打开闪退怎么解决? win11应用商店打不开的多种解决办法
2022/04/05 数码科技
vue如何实现关闭对话框后刷新列表
2022/04/08 Vue.js