如何创建一个创建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
MySQL之DML语言
Apr 05 MySQL
MySQL 分页查询的优化技巧
May 12 MySQL
Mysql数据库索引面试题(程序员基础技能)
May 31 MySQL
如何使用分区处理MySQL的亿级数据优化
Jun 18 MySQL
MySQL中的隐藏列的具体查看
Sep 04 MySQL
Mysql案例刨析事务隔离级别
Sep 25 MySQL
MySQL学习必备条件查询数据
Mar 25 MySQL
Golang连接并操作MySQL
Apr 14 MySQL
详细介绍MySQL中limit和offset的用法
May 06 MySQL
MySQL 计算连续登录天数
May 11 MySQL
mysql sock 文件解析及作用讲解
Jul 15 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
Discuz! Passport 通行证整合
2008/03/27 PHP
php Xdebug的安装与使用详解
2013/06/20 PHP
微信 getAccessToken方法详解及实例
2016/11/23 PHP
Python中使用django form表单验证的方法
2017/01/16 PHP
php 使用 __call实现重载功能示例
2019/11/18 PHP
浅析jQuery中调用ajax方法时在不同浏览器中遇到的问题
2014/06/11 Javascript
可编辑下拉框的2种实现方式
2014/06/13 Javascript
AngularJS自动表单验证
2016/02/01 Javascript
微信小程序实现收藏与取消收藏切换图片功能
2018/08/03 Javascript
详解swiper在vue中的应用(以3.0为例)
2018/09/20 Javascript
vuex存值与取值的实例
2019/11/06 Javascript
vue使用vant中的checkbox实现全选功能
2020/11/17 Vue.js
[00:43]FTP典藏礼包 DOTA2三大英雄霸气新套装
2014/03/21 DOTA
[05:31]DOTA2英雄梦之声_第08期_莉娜
2014/06/23 DOTA
[03:10]2014DOTA2 TI马来劲旅Titan首战告捷目标只是8强
2014/07/10 DOTA
python文件写入实例分析
2015/04/08 Python
python使用装饰器和线程限制函数执行时间的方法
2015/04/18 Python
python创建进程fork用法
2015/06/04 Python
Python实现判断并移除列表指定位置元素的方法
2018/04/13 Python
Pytorch入门之mnist分类实例
2018/04/14 Python
解决pycharm 误删掉项目文件的处理方法
2018/10/22 Python
python简单实现矩阵的乘,加,转置和逆运算示例
2019/07/10 Python
Python笔记之观察者模式
2019/11/20 Python
python如何把字符串类型list转换成list
2020/02/18 Python
使用Keras中的ImageDataGenerator进行批次读图方式
2020/06/17 Python
用Python 爬取猫眼电影数据分析《无名之辈》
2020/07/24 Python
用css3实现转换过渡和动画效果
2020/03/13 HTML / CSS
用HTML5实现手机摇一摇的功能的教程
2012/10/30 HTML / CSS
波兰香水和化妆品购物网站:Notino.pl
2017/11/07 全球购物
《长城》教学反思
2014/02/14 职场文书
保安队长职务说明书
2014/02/23 职场文书
大三学生做职业规划:给未来找个方向
2014/02/24 职场文书
自主招生推荐信范文
2014/05/10 职场文书
演讲稿:​快乐,从不抱怨开始!
2019/04/02 职场文书
写一个Python脚本自动爬取Bilibili小视频
2021/04/24 Python
Java版 简易五子棋小游戏
2022/05/04 Java/Android