Maison > base de données > tutoriel mysql > le corps du texte

Comment créer un type datetime dans une base de données MySQL

WBOY
Libérer: 2023-06-02 16:55:04
avant
1872 Les gens l'ont consulté

Plateforme système d'environnement : Microsoft Windows (64 bits) 10 version : 4.5Microsoft Windows (64-bit) 10版本:4.5

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

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

  • CREATE TYPE

  • La base de données Hangao prend en charge la création de types de données définis par l'utilisateur à l'aide des instructions suivantes :

CREATE DOMAIN : Il crée un type de données défini par l'utilisateur, qui peut avoir des contraintes facultatives, basées sur d'autres types de base, définissant essentiellement un domaine.

  • CREATE TYPE : Il est généralement utilisé pour créer des types composites (types de données qui sont un mélange de deux types de données ou plus) à l'aide de procédures stockées.

    1. Utilisation du domaine et exemples

    S'il existe la structure de table suivante :

    create table test_domain (id varchar,md5 text not null check(length(md5)=32));
    Copier après la connexion

    Parmi elles, le type et les contraintes de la colonne md5 peuvent être résumés en définissant un domaine, comme suit :

    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
    Copier après la connexion
    🎜 2. Créez un type datetime MySQL🎜
    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)
    Copier après la connexion
    🎜3 créez l'utilisation du type et des exemples🎜
    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
    Copier après la connexion
    🎜🎜Exemple de création :🎜🎜
    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);
    Copier après la connexion
    .

    Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

  • Étiquettes associées:
    source:yisu.com
    Déclaration de ce site Web
    Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
    Tutoriels populaires
    Plus>
    Derniers téléchargements
    Plus>
    effets Web
    Code source du site Web
    Matériel du site Web
    Modèle frontal