如何創(chuàng)建一個(gè)創(chuàng)建MySQL數(shù)據(jù)庫中的datetime類型
環(huán)境系統(tǒng)平臺(tái):Microsoft Windows (64-bit) 10版本:4.5
瀚高數(shù)據(jù)庫中支持使用以下語句創(chuàng)建用戶定義的數(shù)據(jù)類型:
?CREATE DOMAIN?:它創(chuàng)建了一個(gè)用戶定義的數(shù)據(jù)類型,可以有可選的約束,基于其他基本類型,實(shí)質(zhì)是定義一個(gè)域。?CREATE TYPE?:它通常用于使用存儲(chǔ)過程創(chuàng)建復(fù)合類型(兩種或多種數(shù)據(jù)類型混合的數(shù)據(jù)類型)。
一、domain用法及示例
假如有以下表結(jié)構(gòu):
create table test_domain (id varchar,md5 text not null check(length(md5)=32));
其中md5列的類型及約束,可以定義一個(gè)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二、創(chuàng)建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創(chuàng)建示例:
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);到此這篇關(guān)于如何創(chuàng)建一個(gè)創(chuàng)建MySQL數(shù)據(jù)庫中的datetime類型的文章就介紹到這了,更多相關(guān)創(chuàng)建datetime類型內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
navicat中創(chuàng)建存儲(chǔ)過程、觸發(fā)器和使用游標(biāo)的簡單實(shí)例(圖文)
這篇文章主要介紹了navicat中創(chuàng)建存儲(chǔ)過程、觸發(fā)器和使用游標(biāo)的簡單實(shí)例,需要的朋友可以參考下2017-02-02
MySQL新增字段后Java實(shí)體未更新的潛在問題與解決方案
在Java+MySQL的開發(fā)中,我們通常使用ORM框架來映射數(shù)據(jù)庫表與 Java 對象,但有時(shí)候,數(shù)據(jù)庫表結(jié)構(gòu)變更(如新增字段)后,開發(fā)人員可能忘記同步更新Java實(shí)體類,會(huì)導(dǎo)致什么問題?接下小編給大家介紹了MySQL新增字段后Java實(shí)體未更新的潛在問題與解決方案2025-03-03
詳解MySQL客戶端/服務(wù)器運(yùn)行架構(gòu)
這篇文章主要介紹了詳解MySQL客戶端/服務(wù)器運(yùn)行架構(gòu),文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下2022-09-09
MySQL數(shù)據(jù)庫CPU飆升到100%的詳細(xì)解決方案
在監(jiān)控線上數(shù)據(jù)庫的運(yùn)行是否安全、正常的過程中,cpu使用率是一個(gè)重要的指標(biāo),一旦cpu使用率飆升至90%+甚至達(dá)到100%,必然會(huì)對數(shù)據(jù)庫的正常工作產(chǎn)生影響,下面這篇文章主要給大家介紹了關(guān)于MySQL數(shù)據(jù)庫CPU飆升到100%的詳細(xì)解決方案,需要的朋友可以參考下2023-05-05
centos6.4下mysql5.7.18安裝配置方法圖文教程
這篇文章主要為大家詳細(xì)介紹了centos6.4下mysql5.7.18安裝配置方法圖文教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-07-07
Mysql 主從數(shù)據(jù)庫同步(centos篇)
Mysql 主從數(shù)據(jù)庫同步(centos篇),需要的朋友可以參考下。2011-05-05

