English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
criar tabela
create table 表名
create table if not exists 表名
mysql> create database company; Query OK, 1 linha afetada (0.00 seg) mysql> use company; Banco de dados alterado mysql> create table if not exists t_dept( -> deptno int, -> dname varchar(20), -> loc varchar(40)); Query OK, 0 linhas afetadas (0.20 seg) mysql> show tables; +-------------------+ | Tables_in_company | +-------------------+ | t_dept | +-------------------+ 1 row in set (0.00 sec) mysql>
exibir todas as tabelas do banco atual
show tables;
mysql> show tables; +-------------------+ | Tables_in_company | +-------------------+ | t_dept | +-------------------+ 1 row in set (0.00 sec)
ver estrutura da tabela
describe 表名
abreviação
desc 表名
mysql> describe t_dept; +--------+-------------+------+-----+---------+-------+ | Campo | Tipo | Null | Chave | Padrão | Extra | +--------+-------------+------+-----+---------+-------+ | deptno | int(11) | SIM | | NULL | | | dname | varchar(20) | SIM | | NULL | | | loc | varchar(40) | SIM | | NULL | | +--------+-------------+------+-----+---------+-------+ 3 linhas no conjunto (0,00 seg) mysql> desc t_dept; +--------+-------------+------+-----+---------+-------+ | Campo | Tipo | Null | Chave | Padrão | Extra | +--------+-------------+------+-----+---------+-------+ | deptno | int(11) | SIM | | NULL | | | dname | varchar(20) | SIM | | NULL | | | loc | varchar(40) | SIM | | NULL | | +--------+-------------+------+-----+---------+-------+ 3 linhas no conjunto (0,00 seg)
ver detalhes da tabela
show create table 表名
mysql> show create table t_dept; +--------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Tabela | Criar Tabela | +--------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | t_dept | CREATE TABLE `t_dept` ( `deptno` int(11) VALOR PADRÃO NULL, `dname` varchar(20) VALOR PADRÃO NULL, `loc` varchar(40) VALOR PADRÃO NULL ) MOTOR=InnoDB CARACTERESET=utf8 | +--------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+ 1 row in set (0.00 sec) show create table t_dept \G mysql> show create table t_dept \G *************************** 1. linha *************************** Table: t_dept Create Table: CREATE TABLE `t_dept` ( `deptno` int(11) VALOR PADRÃO NULL, `dname` varchar(20) VALOR PADRÃO NULL, `loc` varchar(40) VALOR PADRÃO NULL ) MOTOR=InnoDB CARACTERESET=utf8 1 row in set (0.00 sec)
deletar tabela
drop table 表名
drop table if exists 表名
mysql> drop table if exists t_dept; Query OK, 0 linhas afetadas (0.12 seg) mysql> show tables; Empty set (0.00 sec)
修改表名
ALTER TABLE old_table_name RENAME [TO] new_table_name
old_table_name 原表名
new_table_name 新表名
将t_dept修改为tab_dept
mysql> alter table t_dept rename tab_dept; Query OK, 0 linhas afetadas (0,09 seg) mysql> show tables; +-------------------+ | Tables_in_company | +-------------------+ | tab_dept | +-------------------+ 1 row in set (0.00 sec) mysql> desc tab_dept; +--------+-------------+------+-----+---------+-------+ | Campo | Tipo | Null | Chave | Padrão | Extra | +--------+-------------+------+-----+---------+-------+ | deptno | int(11) | SIM | | NULL | | | dname | varchar(20) | SIM | | NULL | | | loc | varchar(40) | SIM | | NULL | | +--------+-------------+------+-----+---------+-------+ 3 linhas no conjunto (0,00 seg)
为表增加一个字段默认在最后
ALTER TABLE table_name ADD 属性名 属性类型
为tab_dept增加一个字段descri varchar(20)
mysql> desc tab_dept; +--------+-------------+------+-----+---------+-------+ | Campo | Tipo | Null | Chave | Padrão | Extra | +--------+-------------+------+-----+---------+-------+ | deptno | int(11) | SIM | | NULL | | | dname | varchar(20) | SIM | | NULL | | | loc | varchar(40) | SIM | | NULL | | +--------+-------------+------+-----+---------+-------+ 3 linhas no conjunto (0,00 seg) mysql> alter table tab_dept add descri varchar(20); Query OK, 0 linhas afetadas (0.33 seg) Registros: 0 Duplicados: 0 Avisos: 0 mysql> desc tab_dept; +--------+-------------+------+-----+---------+-------+ | Campo | Tipo | Null | Chave | Padrão | Extra | +--------+-------------+------+-----+---------+-------+ | deptno | int(11) | SIM | | NULL | | | dname | varchar(20) | SIM | | NULL | | | loc | varchar(40) | SIM | | NULL | | | descri | varchar(20) | SIM | | NULL | | +--------+-------------+------+-----+---------+-------+ 4 linhas no conjunto (0,00 seg)
在表的第一个位置增加一个字段
ALTER TABLE table_name ADD 属性名 属性类型 first
mysql> alter table tab_dept add id int first; Query OK, 0 linhas afetadas (0.38 seg) Registros: 0 Duplicados: 0 Avisos: 0 mysql> desc tab_dept; +--------+-------------+------+-----+---------+-------+ | Campo | Tipo | Null | Chave | Padrão | Extra | +--------+-------------+------+-----+---------+-------+ | id | int(11) | SIM | | NULL | | | deptno | int(11) | SIM | | NULL | | | dname | varchar(20) | SIM | | NULL | | | loc | varchar(40) | SIM | | NULL | | | descri | varchar(20) | SIM | | NULL | | +--------+-------------+------+-----+---------+-------+ 5 linhas no conjunto (0,00 seg)
在表的指定字段之后增加字段
ALTER TABLE table_name ADD 属性名 属性类型 AFTER 属性名
mysql> alter table tab_dept add comm varchar(20) after dname; Query OK, 0 linhas afetadas (0.31 seg) Registros: 0 Duplicados: 0 Avisos: 0 mysql> desc tab_dept; +--------+-------------+------+-----+---------+-------+ | Campo | Tipo | Null | Chave | Padrão | Extra | +--------+-------------+------+-----+---------+-------+ | id | int(11) | SIM | | NULL | | | deptno | int(11) | SIM | | NULL | | | dname | varchar(20) | SIM | | NULL | | | comm | varchar(20) | SIM | | NULL | | | loc | varchar(40) | SIM | | NULL | | | descri | varchar(20) | SIM | | NULL | | +--------+-------------+------+-----+---------+-------+ 6 linhas no conjunto (0,00 seg)
删除字段
ALTER TABLE table_name DROP 属性名
mysql> alter table tab_dept drop comm; Query OK, 0 linhas afetadas (0.32 seg) Registros: 0 Duplicados: 0 Avisos: 0 mysql> desc tab_dept; +--------+-------------+------+-----+---------+-------+ | Campo | Tipo | Null | Chave | Padrão | Extra | +--------+-------------+------+-----+---------+-------+ | id | int(11) | SIM | | NULL | | | deptno | int(11) | SIM | | NULL | | | dname | varchar(20) | SIM | | NULL | | | loc | varchar(40) | SIM | | NULL | | | descri | varchar(20) | SIM | | NULL | | +--------+-------------+------+-----+---------+-------+ 5 linhas no conjunto (0,00 seg)
Modificação de campo-修改字段数据类型
ALTER TABLE table_name MODIFY 属性名 数据类型
mysql> alter table tab_dept modify descri int; Query OK, 0 linhas afetadas (0.45 seg) Registros: 0 Duplicados: 0 Avisos: 0 mysql> desc tab_dept; +--------+-------------+------+-----+---------+-------+ | Campo | Tipo | Null | Chave | Padrão | Extra | +--------+-------------+------+-----+---------+-------+ | id | int(11) | SIM | | NULL | | | deptno | int(11) | SIM | | NULL | | | dname | varchar(20) | SIM | | NULL | | | loc | varchar(40) | SIM | | NULL | | | descri | int(11) | SIM | | NULL | | +--------+-------------+------+-----+---------+-------+ 5 linhas no conjunto (0,00 seg)
Modificação de campo-修改字段名称
ALTER TABLE table_name CHANGE 旧属性名 新属性名 旧数据类型
mysql> alter table tab_dept change id deptid int; Query OK, 0 linhas afetadas (0,07 seg) Registros: 0 Duplicados: 0 Avisos: 0 mysql> desc tab_dept; +--------+-------------+------+-----+---------+-------+ | Campo | Tipo | Null | Chave | Padrão | Extra | +--------+-------------+------+-----+---------+-------+ | deptid | int(11) | SIM | | NULL | | | deptno | int(11) | SIM | | NULL | | | dname | varchar(20) | SIM | | NULL | | | loc | varchar(40) | SIM | | NULL | | | descri | int(11) | SIM | | NULL | | +--------+-------------+------+-----+---------+-------+ 5 linhas no conjunto (0,00 seg)
Modificação de campo-Modificar nome do campo e tipo de dados ao mesmo tempo
ALTER TABLE nome_da_tabela CHANGE antigo_nome_novo_nome novo_tipo_dados
mysql> alter table tab_dept change deptid id varchar(32); Query OK, 0 linhas afetadas (0.49 seg) Registros: 0 Duplicados: 0 Avisos: 0 mysql> desc tab_dept; +--------+-------------+------+-----+---------+-------+ | Campo | Tipo | Null | Chave | Padrão | Extra | +--------+-------------+------+-----+---------+-------+ | id | varchar(32) | SIM | | NULL | | | deptno | int(11) | SIM | | NULL | | | dname | varchar(20) | SIM | | NULL | | | loc | varchar(40) | SIM | | NULL | | | descri | int(11) | SIM | | NULL | | +--------+-------------+------+-----+---------+-------+ 5 linhas no conjunto (0,00 seg)
Modificar ordem
ALTER TABLE nome_da_tabela MODIFY Nome_do_atributo1 Tipo de dados FIRST|AFTER Nome do atributo2
2um atributo deve existir
Mover deptno para a primeira posição
mysql> alter table tab_dept modify deptno int first; Query OK, 0 linhas afetadas (0.33 seg) Registros: 0 Duplicados: 0 Avisos: 0 mysql> desc tab_dept; +--------+-------------+------+-----+---------+-------+ | Campo | Tipo | Null | Chave | Padrão | Extra | +--------+-------------+------+-----+---------+-------+ | deptno | int(11) | SIM | | NULL | | | id | varchar(32) | SIM | | NULL | | | dname | varchar(20) | SIM | | NULL | | | loc | varchar(40) | SIM | | NULL | | | descri | int(11) | SIM | | NULL | | +--------+-------------+------+-----+---------+-------+ 5 linhas no conjunto (0,00 seg)
Colocar ID no final
mysql> alter table tab_dept modify deptno int after descri; Query OK, 0 linhas afetadas (0.29 seg) Registros: 0 Duplicados: 0 Avisos: 0 mysql> desc tab_dept; +--------+-------------+------+-----+---------+-------+ | Campo | Tipo | Null | Chave | Padrão | Extra | +--------+-------------+------+-----+---------+-------+ | id | varchar(32) | SIM | | NULL | | | dname | varchar(20) | SIM | | NULL | | | loc | varchar(40) | SIM | | NULL | | | descri | int(11) | SIM | | NULL | | | deptno | int(11) | SIM | | NULL | | +--------+-------------+------+-----+---------+-------+ 5 linhas no conjunto (0,00 seg) mysql> alter table tab_dept modify deptno int first; Query OK, 0 linhas afetadas (0.34 seg) Registros: 0 Duplicados: 0 Avisos: 0 mysql> alter table tab_dept modify id int after descri; Query OK, 0 linhas afetadas (0.47 seg) Registros: 0 Duplicados: 0 Avisos: 0 mysql> desc tab_dept; +--------+-------------+------+-----+---------+-------+ | Campo | Tipo | Null | Chave | Padrão | Extra | +--------+-------------+------+-----+---------+-------+ | deptno | int(11) | SIM | | NULL | | | dname | varchar(20) | SIM | | NULL | | | loc | varchar(40) | SIM | | NULL | | | descri | int(11) | SIM | | NULL | | | id | int(11) | SIM | | NULL | | +--------+-------------+------+-----+---------+-------+ 5 linhas no conjunto (0,00 seg)