DDL - Data Definition Language
Linguagem para definição de dados.
Conjunto de comandos que lidam com os objetos, criação de bancos de dados, esquemas, tabelas, campos, etc.
Data Types
- VARCHAR: Aloca somente o espaço necessário para os valores recebidos.
- CHAR: Aloca todo o espaço, independente do valor recebido de fato.
- TIMESTAMP:
CREATE
Database
SHOW DATABASES;
CREATE DATABASE mydb;
USE mydb;
CREATE SCHEMA `schema_name` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
charset/collation
Table
CREATE TABLE user (
id INT(11) NOT NULL AUTO_INCREMENT,
name VARCHAR(150) NOT NULL,
email VARCHAR(150) NOT NULL,
password VARCHAR(150) NOT NULL,
created_date TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
updated_date TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (id) USING BTREE
);
- AUTO_INCREMENT: A coluna deve ser auto-incrementada.
- DEFAULT: Define o valor padrão para o campo.
- ON UPDATE: Atualiza a data de modificação da tabela.
- USING: Define o tipo de índice a ser utilizado.
- BTREE: Índice B-Tree.
ALTER
Table
// Adicionar uma coluna
ALTER TABLE user
ADD COLUMN phone char(12) NOT NULL
AFTER email;
// Alterar uma coluna
ALTER TABLE user
CHANGE COLUMN phone phone char(20) NOT NULL;
// Adicionar um INICE único
ALTER TABLE user
ADD UNIQUE INDEX (email);
DROP
Database
DROP DATABASE mydb;
DROP DATABASE mydb1, mydb2;
Table
DROP TABLE user;
DROP TABLE user, user1, user2;