如何创建一个创建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 08 MySQL
MySQL8.0.24版本Release Note的一些改进点
Apr 22 MySQL
MySQL创建高性能索引的全步骤
May 02 MySQL
分析MySQL抛出异常的几种常见解决方式
May 18 MySQL
MySQL开启事务的方式
Jun 26 MySQL
mysql脏页是什么
Jul 26 MySQL
SQL实现LeetCode(178.分数排行)
Aug 04 MySQL
MySQL三种方式实现递归查询
Apr 18 MySQL
SQL语句多表联合查询的方法示例
Apr 18 MySQL
Mysql数据库事务的脏读幻读及不可重复读详解
May 30 MySQL
mysql函数之截取字符串的实现
Aug 14 MySQL
MySQL下载安装配置详细教程 附下载资源
Sep 23 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 zip文件解压类代码
2009/12/02 PHP
PHP自定义函数获取URL中一级域名的方法
2016/08/23 PHP
php简单构造json多维数组的方法示例
2017/06/08 PHP
PHP设计模式之原型设计模式原理与用法分析
2018/04/25 PHP
yii2.0框架场景的简单使用示例
2020/01/25 PHP
PHP超全局变量实现原理及代码解析
2020/09/01 PHP
javascript 混合的构造函数和原型方式,动态原型方式
2009/12/07 Javascript
jQuery UI Dialog控件中的表单无法正常提交的解决方法
2010/12/19 Javascript
Jquery 实现表格颜色交替变化鼠标移过颜色变化实例
2013/08/28 Javascript
jquery实现select下拉框美化特效代码分享
2015/08/18 Javascript
JS+CSS实现的简单折叠展开多级菜单效果
2015/09/12 Javascript
Seajs 简易文档 提供简单、极致的模块化开发体验
2016/04/13 Javascript
JavaScript实现类似拉勾网的鼠标移入移出效果
2016/10/27 Javascript
利用jQuery来动态为属性添加或者删除属性的简单方法
2016/12/02 Javascript
nodejs服务搭建教程 nodejs访问本地站点文件
2017/04/07 NodeJs
Angular中实现树形结构视图实例代码
2017/05/05 Javascript
js replace替换字符串同时替换多个方法
2018/11/27 Javascript
javascript实现点击产生随机图形
2021/01/25 Javascript
Python xlrd读取excel日期类型的2种方法
2015/04/28 Python
Python IDE PyCharm的基本快捷键和配置简介
2015/11/04 Python
Python并发之多进程的方法实例代码
2018/08/15 Python
python使用PIL给图片添加文字生成海报示例
2018/08/17 Python
Python3.4 splinter(模拟填写表单)使用方法
2018/10/13 Python
python实现静态web服务器
2019/09/03 Python
PYTHON EVAL的用法及注意事项解析
2019/09/06 Python
python:目标检测模型预测准确度计算方式(基于IoU)
2020/01/18 Python
《燕子》教学反思
2014/02/18 职场文书
读书小明星事迹材料
2014/05/03 职场文书
汉语言文学毕业求职信
2014/07/17 职场文书
项目委托协议书(最新)
2014/09/13 职场文书
名人演讲稿范文
2014/09/16 职场文书
2014年图书馆个人工作总结
2014/12/18 职场文书
创业计划书之家教中心
2019/09/25 职场文书
Nest.js参数校验和自定义返回数据格式详解
2021/03/29 Javascript
z-index不起作用
2021/03/31 HTML / CSS
MySQL为数据表建立索引的原则详解
2022/03/03 MySQL