Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como criar uma tabela no MySQL


Muitas vezes você pode precisar criar uma tabela no MySQL. Veja como criar uma tabela usando o comando MySQL CREATE TABLE.


Como criar tabelas no MySQL


Aqui estão os passos para criar uma tabela no MySQL.

MySQL CREATE TABLE permite criar uma nova tabela no banco de dados. Aqui está a sintaxe.
CREATE TABLE [IF NOT EXISTS] table_name(
   column_1_definition,
   column_2_definition,
   ...,
   table_constraints
) ENGINE=storage_engine;

Na consulta de criação de tabela acima, table_name é o nome da sua nova tabela. IF NOT EXISTS é um argumento opcional que verifica se a tabela já existe e cria a tabela somente se ela não existir.

column_1_definition , column_2_definition , … são diferentes definições de coluna, cada uma consistindo em nome de coluna e tipo de dados.

table_contraints são diferentes tipos de restrições opcionais, como restrição de chave estrangeira, restrição de chave primária, etc.

Opcionalmente, você pode especificar o mecanismo de armazenamento como a variável ENGINE. MySQL suporta mecanismos de armazenamento InnoDB e MyISAM. Se você não especificar essa variável, o MySQL usará o InnoDB por padrão.

Bônus de leitura:coluna da tabela de alteração do MySQL


Exemplos de CREATE TABLE do MySQL


Aqui está a consulta SQL para criar a tabela no MySQL. Criaremos um pedidos tabela para armazenar a lista de pedidos
CREATE TABLE IF NOT EXISTS orders (
    id INT AUTO_INCREMENT PRIMARY KEY,
    product_name VARCHAR(255) NOT NULL,
    order_date DATE,
    price INT NOT NULL,
    description TEXT,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
)  ENGINE=INNODB;


mysql> describe orders;
+--------------+--------------+------+-----+-------------------+----------------+
| Field        | Type         | Null | Key | Default           | Extra          |
+--------------+--------------+------+-----+-------------------+----------------+
| id           | int(11)      | NO   | PRI | NULL              | auto_increment |
| product_name | varchar(255) | NO   |     | NULL              |                |
| order_date   | date         | YES  |     | NULL              |                |
| price        | int(11)      | NO   |     | NULL              |                |
| description  | text         | YES  |     | NULL              |                |
| created_at   | timestamp    | NO   |     | CURRENT_TIMESTAMP |                |
+--------------+--------------+------+-----+-------------------+----------------+

Na consulta acima,

id é a chave primária da nossa tabela com restrição AUTO INCREMENT. Então, quando você adiciona uma nova linha a esta tabela, o MySQL irá incrementar e preencher automaticamente esta coluna para a nova linha.

product_name é uma coluna VARCHAR (string) para armazenar o nome do produto

order_date é uma coluna de data. Como não possui restrições, pode até ter valores NULL.

preço é uma coluna inteira com uma restrição NOT NULL. Portanto, não pode ter valores nulos.

criado_em é uma coluna de carimbo de data/hora com CURRENT_TIMESTAMP como valor padrão.

Optamos por usar o mecanismo de armazenamento INNODB para esta tabela.

Bônus de leitura:MySQL ADD COLUMN


MySQL CREATE TABLE com FOREIGN KEY


Vamos criar uma nova tabela no MySQL com a restrição FOREIGN KEY. Criaremos uma nova tabela order_status com uma chave estrangeira order_id que faz referência à chave primária de ordens tabela.
mysql> CREATE TABLE IF NOT EXISTS order_status (
         status_id INT AUTO_INCREMENT,
         order_id INT,
         status VARCHAR(255) NOT NULL,
         is_completed BOOLEAN NOT NULL DEFAULT FALSE,
         PRIMARY KEY (status_id),
         FOREIGN KEY (order_id)
             REFERENCES orders (id)
             ON UPDATE RESTRICT ON DELETE CASCADE
     );

mysql> describe order_status;
+--------------+--------------+------+-----+---------+----------------+
| Field        | Type         | Null | Key | Default | Extra          |
+--------------+--------------+------+-----+---------+----------------+
| status_id    | int(11)      | NO   | PRI | NULL    | auto_increment |
| order_id     | int(11)      | YES  | MUL | NULL    |                |
| status       | varchar(255) | NO   |     | NULL    |                |
| is_completed | tinyint(1)   | NO   |     | 0       |                |
+--------------+--------------+------+-----+---------+----------------+

Na consulta acima, adicionamos uma restrição de chave estrangeira usando MySQL ADD FOREIGN KEY

Espero que agora você possa criar facilmente uma tabela no MySQL.



O Ubiq facilita a visualização de dados em minutos e o monitoramento em painéis em tempo real. Experimente hoje!