如何创建一个创建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 相关文章推荐
Idea连接MySQL数据库出现中文乱码的问题
Apr 14 MySQL
MySQL数字类型自增的坑
May 07 MySQL
MySQL Threads_running飙升与慢查询的相关问题解决
May 08 MySQL
MySQL 可扩展设计的基本原则
May 14 MySQL
MySQL开启事务的方式
Jun 26 MySQL
python中的mysql数据库LIKE操作符详解
Jul 01 MySQL
SQL之各种join小结详细讲解
Aug 04 MySQL
SQL实现LeetCode(180.连续的数字)
Aug 04 MySQL
MySQL和Oracle批量插入SQL的通用写法示例
Nov 17 MySQL
MySQL 数据库 增删查改、克隆、外键 等操作
May 11 MySQL
mysql 排序失效
May 20 MySQL
MySQL生成千万测试数据以及遇到的问题
Aug 05 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
一道求$b相对于$a的相对路径的php代码
2010/08/08 PHP
非常实用的PHP常用函数汇总
2014/12/17 PHP
php实现随机显示图片方法汇总
2015/05/21 PHP
PHP设置进度条的方法
2015/07/08 PHP
PHP生成图片缩略图类示例
2017/01/12 PHP
PHP文件管理之实现网盘及压缩包的功能操作
2017/09/20 PHP
PHP 应用容器化以及部署方法
2018/02/12 PHP
将jQuery应用于login页面的问题及解决
2009/10/17 Javascript
Extjs入门之动态加载树代码
2010/04/09 Javascript
jquery 实现二级/三级/多级联动菜单的思路及代码
2013/04/08 Javascript
js中的屏蔽的使用示例
2013/07/30 Javascript
Javascript中的Callback方法浅析
2015/03/15 Javascript
jQuery+html5实现div弹出层并遮罩背景
2015/04/15 Javascript
AngularJS实现一次监听多个值发生的变化
2016/08/31 Javascript
bootstrap css样式之表单
2017/01/19 Javascript
javascript实现视频弹幕效果(两个版本)
2019/11/28 Javascript
[04:54]DOTA2-DPC中国联赛1月31日Recap集锦
2021/03/11 DOTA
Python中的zipfile模块使用详解
2015/06/25 Python
Python中datetime模块参考手册
2017/01/13 Python
Python运维之获取系统CPU信息的实现方法
2018/06/11 Python
pandas 转换成行列表进行读取与Nan处理的方法
2018/10/30 Python
Python创建字典的八种方式
2019/02/27 Python
python的依赖管理的实现
2019/05/14 Python
python如何实现图片压缩
2020/09/11 Python
美国南加州的原创极限运动潮牌:Vans(范斯)
2016/08/05 全球购物
美国猫狗药物和用品网站:PetCareRx
2017/01/05 全球购物
乡镇干部十八大感言
2014/02/17 职场文书
新农村建设汇报材料
2014/08/15 职场文书
2014年民主评议党员个人总结
2014/09/24 职场文书
2014年乡镇团委工作总结
2014/12/18 职场文书
培训讲师开场白
2015/06/01 职场文书
2016年清明节红领巾广播稿
2015/12/17 职场文书
高三数学复习备考教学反思
2016/02/18 职场文书
mysql部分操作
2021/04/05 MySQL
Nginx中使用Lua脚本与图片的缩略图处理的实现
2022/03/18 Servers
baselines示例程序train_cartpole.py的ImportError
2022/05/20 Python