Heim  >  Artikel  >  Datenbank  >  So erstellen Sie einen Datetime-Typ in einer MySQL-Datenbank

So erstellen Sie einen Datetime-Typ in einer MySQL-Datenbank

WBOY
WBOYnach vorne
2023-06-02 16:55:041811Durchsuche

Umgebungssystemplattform: Microsoft Windows (64-Bit) 10 Version: 4.5Microsoft Windows (64-bit) 10版本:4.5

瀚高数据库中支持使用以下语句创建用户定义的数据类型:

  • CREATE DOMAIN:它创建了一个用户定义的数据类型,可以有可选的约束,基于其他基本类型,实质是定义一个域。

  • CREATE TYPE

  • Die Hangao-Datenbank unterstützt die Erstellung benutzerdefinierter Datentypen mithilfe der folgenden Anweisungen:

CREATE DOMAIN: Es wird ein benutzerdefinierter Datentyp erstellt, der optionale Einschränkungen haben kann, die auf anderen Grundtypen basieren und im Wesentlichen eine Domäne definieren.

  • CREATE TYPE: Wird normalerweise verwendet, um zusammengesetzte Typen (Datentypen, die eine Mischung aus zwei oder mehr Datentypen sind) mithilfe gespeicherter Prozeduren zu erstellen.

    1. Domänenverwendung und Beispiele

    Wenn die folgende Tabellenstruktur vorhanden ist:

    create table test_domain (id varchar,md5 text not null check(length(md5)=32));

    Darunter können der Typ und die Einschränkungen der MD5-Spalte durch Definieren einer Domäne wie folgt abstrahiert werden:

    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
    🎜 2. MySQL-Datetime-Typ erstellen🎜
    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)
    🎜3. Verwendung und Beispiele für die Erstellung des Typs🎜
    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
    🎜🎜Erstellungsbeispiel:🎜🎜
    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);

    Das obige ist der detaillierte Inhalt vonSo erstellen Sie einen Datetime-Typ in einer MySQL-Datenbank. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

  • Stellungnahme:
    Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen