Guia prático - sql
:::DATABASE:::
CREATE DATABASE nome_banco;
USE DATABASE nome_banco;
:::TABLE:::
CREATE TABLE nome_tabela( coluna_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, coluna1 TYPE CONTRAINTS, coluna2 TYPE CONTRAINTS
);
DROP TABLE nome_tabela;
:::TABLE TYPES:::
CREATE TABLE nome_tabela TYPE tipo();
MyISAM;
ISAM;
MEMORY;
MERGE;
BDB;
InnoDB;
:::ALTER TABLE:::
ALTER TABLE nome_tabela
RENAME TO novo_nome_tabela;
ALTER TABLE nome_tabela
ADD COLUMN nome_coluna TYPE CONTRAINTS POSITION
ADD PRIMARY KEY(novo_nome);
ALTER TABLE nome_tabela
CHANGE COLUMN nome_coluna novo_nome TYPE CONTRAINTS POSITION;//alterar nome e tipo da coluna
ALTER TABLE nome_tabela
MODIFY COLUMN nome_coluna TYPE CONTRAINTS POSITION;//alterar tipo da coluna
DROP COLUMN nome_coluna;
FIRST, SECOND, THIRD, FOURTH, FIFTH
FIRST, BEFORE, AFTER, LAST
:::RELATION:::
CREATE TABLE tabela( id_tab INT NOT NULL AUTO_INCREMENT PRIMARY KEY, //id_ext INT NOT NULL FOREIGN(id_ext) REFERENCES tab_ext(id_ext) [ON DELETE reference_option] [ON UPDATE referece_option] //id_ext INT NOT NULL INDEX(id_ext) FOREIGN(id_ext) REFERENCES tab_ext(id_ext) [ON DELETE reference_option] [ON UPDATE referece_option] //id_ext INT NOT NULL CONTRAINT tabext_idext_fk FOREIGN(id_ext) REFERENCES tab_ext(id_ext) [ON DELETE reference_option] [ON UPDATE referece_option]
);
reference_options: RESTRICT, CASCADE, SET NULL, NO ACTION
:::CONTRAINTS:::
NULL e NOT NULL;
UNIQUE
PRIMARY KEY
FOREIGN
CHECK
DEFAULT;
:::INDEXES:::
CREATE INDEX nome_do_indice ON tabela(nome_da_coluna_do_indice);
:::DB INFO:::
SHOW DATABASES;
SHOW TABLES;
SHOW TABLES FROM nome_do_banco;
SHOW COLUMNS FROM tabela FROM banco;
SHOW COLUMNS FROM banco.tabela;
SHOW GRANTS FROM usuario;
DESCRIBE nome_tabela ou DESC;
SHOW CREATE TABLE nome_tabela;
EXPLAIN nome_tabela;
EXPLAIN SELECT colunas FROM tabela;
:::DATATYPES:::
CHAR, VARCHAR, BLOB,
INT, INTEGER, DEC,