MySQL na linha de comando
Servidor
Conectando
mysql -u username -p -h hostname databasename
-p indica que o usuário tem senha.
-h indica um host externo e/ou a tabela que será usada, nem sempre precisa ser usada.
Base de dados
Criar
mysql> CREATE DATABASE `databasename`
Listar
mysql> show databases;
Selecionar
mysql> use `databasename`
Tabelas
Criar
mysql> CREATE SCHEMA `tablename`;
Listar
mysql> show tables;
Mostrar dados
mysql> SELECT * FROM `tablename`;
Colunas
Detalhes
mysql> DESCRIBE `tablename`;
Tipos
| Tipo | Formato | Descrição
|
| INT | [0-9]+ | Número inteiro
|
| VARCHAR(45) | string | string
|
| TIME | HH:MM:SS | Apenas a hora, sem data
|
| DATE | YYYY/MM/DD | Apenas a data, sem hora
|
| TIMEDATE | YYYY/MM/DD HH:MM:SS | Data e hora
|
| TIMESTAMP | YYYY/MM/DD HH:MM:SS | Data e hora da inserção de um novo dado
|
Opções
| Nome | Descrição
|
| UNSIGNED | Números sem zeros no começo
|
| NULL | Campo pode ser nulo
|
| NOT NULL | Campo não pode ser nulo
|
| AUTO_INCREMENT | Soma +1 com base na quantidade de registros já inseridos
|
| DEFAULT 'string default' | Valor padrão da coluna
|
CREATE TABLE `newtable` (
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT,
`nome` VARCHAR(45) NULL,
`data` DATE NULL,
PRIMARY KEY (`id`)
);
Adicionar
ALTER TABLE `tablename` ADD COLUMN `columnname` VARCHAR(45) NULL AFTER `columnafter`;
Para adicionar na primeira posição use FIRST no lugar do AFTER `columnafter`.
Alterar
ALTER TABLE `tablename` CHANGE COLUMN `columnname` `columnname` INT UNSIGNED NOT NULL AUTO_INCREMENT;