Quiero crear una tabla de alumnos con la columna ‘student_birthday’ y su formato debe ser dd-mm-aa.

create table `student`.`studentinfo`(
    `student_id` int(10) not null auto_increment,
    `student_name` varchar(45) not null,
    `student_surname` varchar(45) not null,
    `student_birthday` date(???),
    (some lines of code)
primary key(student_id));

lo que debería ser introducido en el (???) para obtener el formato de arriba?

InformationsquelleAutor realheaven | 2015-01-20

3 Comentarios

  1. 4

    El siguiente ejemplo se va a explicar su problema. Estoy usando MySQL 5.7.18.

    En primer lugar he descrito la estructura de usuarios tabla como voy a crear puestos de la tabla con CLAVE externa.

    Más tarde he creado puestos tabla y tiene un FECHA el nombre del campo de creado con muchas de las otras columnas.

    Finalmente he insertado 1 fila en la tabla recién creada.

    mysql> desc users;
    +-------------+-------------+------+-----+---------+-------+
    | Field       | Type        | Null | Key | Default | Extra |
    +-------------+-------------+------+-----+---------+-------+
    | id          | bigint(20)  | NO   | PRI | NULL    |       |
    | fname       | varchar(50) | NO   |     | NULL    |       |
    | lname       | varchar(50) | NO   |     | NULL    |       |
    | uname       | varchar(20) | NO   |     | NULL    |       |
    | email       | text        | NO   |     | NULL    |       |
    | contact     | bigint(12)  | NO   |     | NULL    |       |
    | profile_pic | text        | NO   |     | NULL    |       |
    +-------------+-------------+------+-----+---------+-------+
    7 rows in set (0.00 sec)
    
    mysql> CREATE TABLE  posts(id BIGINT NOT NULL AUTO_INCREMENT PRIMARY KEY, title text NOT NULL, description text NOT NULL, posted_by bigint, FOREIGN KEY(posted_by) REFERENCES users(id) ON DELETE CASCADE ON UPDATE RESTRICT , created DATE);
    Query OK, 0 rows affected (0.01 sec)
    
    mysql> desc posts;                                                                                                                                                          
    +-------------+------------+------+-----+---------+----------------+
    | Field       | Type       | Null | Key | Default | Extra          |
    +-------------+------------+------+-----+---------+----------------+
    | id          | bigint(20) | NO   | PRI | NULL    | auto_increment |
    | title       | text       | NO   |     | NULL    |                |
    | description | text       | NO   |     | NULL    |                |
    | posted_by   | bigint(20) | YES  | MUL | NULL    |                |
    | created     | date       | YES  |     | NULL    |                |
    +-------------+------------+------+-----+---------+----------------+
    5 rows in set (0.00 sec)
    
    mysql> INSERT INTO posts(title, description, posted_by, created) values("Getting started with MySQL", "Excellent Database system", 1, "2017-05-26");
    Query OK, 1 row affected (0.00 sec)
    
    mysql> select * from posts;
    +----+----------------------------+---------------------------+-----------+------------+
    | id | title                      | description               | posted_by | created    |
    +----+----------------------------+---------------------------+-----------+------------+
    |  1 | Getting started with MySQL | Excellent Database system |         1 | 2017-05-26 |
    +----+----------------------------+---------------------------+-----------+------------+
    1 row in set (0.00 sec)
    
    mysql> 
  2. 3

    El tipo de datos date por sí sola es suficiente para representar un valor de fecha. El formato será de importancia cuando se muestre los datos, para lo cual puede utilizar el FORMAT función de su date columna.

    Debo añadir que hay una cierta cantidad de flexibilidad en cuanto al formato de la hora de insertar fecha hora literales como se documenta aquí.

    • Yup. Este 🙂 Algunos de los tipos de datos pueden tener opcional atributos adicionales (por ejemplo, UNSIGNED para INT, una longitud de VARCHAR, etc.), pero Date es sólo Date 🙂

Dejar respuesta

Please enter your comment!
Please enter your name here