如何创建一个创建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中distinct和count(*)的使用方法比较
May 26 MySQL
你知道哪几种MYSQL的连接查询
Jun 03 MySQL
MySQL基于索引的压力测试的实现
Nov 07 MySQL
一篇文章看懂MySQL主从复制与读写分离
Nov 07 MySQL
MySQL 数据类型详情
Nov 11 MySQL
深入讲解数据库中Decimal类型的使用以及实现方法
Feb 15 MySQL
MySQL高级进阶sql语句总结大全
Mar 16 MySQL
Mysql多层子查询示例代码(收藏夹案例)
Mar 31 MySQL
深入理解MySQL中MVCC与BufferPool缓存机制
May 25 MySQL
MySQL数据库实验实现简单数据库应用系统设计
Jun 21 MySQL
MySql按时,天,周,月进行数据统计
Aug 14 MySQL
mysql序号rownum行号实现方式
Dec 24 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面向对象全攻略 (六)__set() __get() __isset() __unset()的用法
2009/09/30 PHP
Zend的AutoLoad机制介绍
2012/09/27 PHP
Zend Framework生成验证码并实现验证码验证功能(附demo源码下载)
2016/03/22 PHP
图片格式的JavaScript和CSS速查手册
2007/08/20 Javascript
javascript中用星号表示预录入内容的实现代码
2011/01/08 Javascript
jQuery基础框架浅入剖析
2012/12/27 Javascript
JavaScript中Window对象的属性及事件
2015/12/25 Javascript
基于jQuery实现以手风琴方式展开和折叠导航菜单
2016/01/28 Javascript
使用JavaScript为Kindeditor自定义按钮增加Audio标签
2016/03/18 Javascript
Angular设置title信息解决SEO方面存在问题
2016/08/19 Javascript
Angular.JS中的指令引用template与指令当做属性详解
2017/03/30 Javascript
vue axios 在页面切换时中断请求方法 ajax
2018/03/05 Javascript
Vue实现自定义下拉菜单功能
2018/07/16 Javascript
JS中使用react-tooltip插件实现鼠标悬浮显示框
2019/05/15 Javascript
JS中的算法与数据结构之二叉查找树(Binary Sort Tree)实例详解
2019/08/16 Javascript
Vue调用后端java接口的实例代码
2019/10/28 Javascript
简单谈谈offsetleft、offsetTop和offsetParent
2020/12/04 Javascript
Python 常用模块 re 使用方法详解
2019/06/06 Python
用Python获取摄像头并实时控制人脸的实现示例
2019/07/11 Python
解决os.path.isdir() 判断文件夹却返回false的问题
2019/11/29 Python
python怎么自定义捕获错误
2020/06/29 Python
HTML5实现QQ聊天气泡效果
2017/06/26 HTML / CSS
连卡佛中国官网:Lane Crawford中文站
2018/01/27 全球购物
网站域名和主机:Domain.com
2019/04/01 全球购物
医院护士专业个人的求职信
2013/12/09 职场文书
《小石潭记》教学反思
2014/02/13 职场文书
入党积极分子自我鉴定
2014/02/18 职场文书
股份转让协议书
2014/04/12 职场文书
推广普通话共筑中国梦演讲稿
2014/09/21 职场文书
2014年向国旗敬礼活动总结
2014/09/27 职场文书
2014大学班主任工作总结
2014/11/08 职场文书
综合实践活动报告
2015/02/05 职场文书
公司出纳岗位职责
2015/03/31 职场文书
交通肇事罪辩护词
2015/05/21 职场文书
MySQL复制问题的三个参数分析
2021/04/07 MySQL
利用javaScript处理常用事件详解
2021/04/14 Javascript