Instrução de controle da tabela de dados do banco de dados

1. Declarações relacionadas a restrições

1. Restrição à chave primária (a restrição da chave primária requer que os dados da coluna da chave primária sejam exclusivos e não possam ficar vazios)

#创建库
mysql> create database test1;
#进入到库中
mysql> use test1;
#创建一个带有主键约束的表
mysql> create table tab1(
    -> id int(10),
    -> name varchar(10) primary key,
    -> sex varchar(5),
    -> info varchar(200)
    -> );
Query OK, 0 rows affected (0.01 sec)

Determine se a chave primária criada (se a coluna possui a palavra PRI): O texto
Instrução de controle da tabela de dados do banco de dados
acima é para definir a chave primária enquanto define a coluna.Vamos escrever para especificar a chave primária depois de definir todas as colunas

mysql> create table tab2(
    -> id int(10),
    -> name varchar(10),
    -> sex varchar(10),
    -> primary key(id)                       # 括号里定义主键的列
    -> );

Instrução de controle da tabela de dados do banco de dados
2. Restrição não nula (o valor da coluna não pode estar vazio)

mysql> create table tab3(
    -> id int(6) not null,                # not null :不允许为空
    -> name varchar(10)
    -> );

Instrução de controle da tabela de dados do banco de dados
3. A exclusividade do valor definido (dados duplicados não são permitidos, podem estar vazios, mas só pode haver um, caso contrário, será considerado duplicado)

mysql> create table tab4(
    -> id int not null unique,
    -> name varchar(20)
    -> );

Instrução de controle da tabela de dados do banco de dados
Você pode ver que ela é identificada como chave primária, mas não foi especificada como chave primária quando foi criada, mas os atributos desta coluna atendem basicamente aos requisitos da chave primária, como exclusiva, não podem estar vazios .
4. Defina o valor padrão da coluna (se a coluna estiver vazia, escreva o valor padrão)

mysql> create table tab5(
    -> id int(2) not null,
    -> name varchar(20),
    -> project varchar(20) default 'mysql'
    -> );

Instrução de controle da tabela de dados do banco de dados
5. Defina o valor de auto incremento (normalmente usado para a coluna id, a coluna de auto incremento deve ser definida como a chave primária)
Nota: o mysql permite apenas definir o valor inicial, não o valor de auto incremento, ou seja, você pode definir o primeiro valor como 5, Aumente por sua vez, como 5, 6, 7, ..... mas não é possível configurá-lo para aumentar 2 vezes por vez, como: 5, 7, 9 ...

mysql> create table tab6(
    -> id int not null primary key auto_increment,
    -> name varchar(20)
    -> );

Instrução de controle da tabela de dados do banco de dados
Teste seu efeito auto-crescente:

mysql> insert into tab6(name) values('zyz'),('lisi');
mysql> select * from tab6;
+----+------+
| id | name |
+----+------+
|  1 | zyz  |
|  2 | lisi |
+----+------+

Como pode ser visto no teste acima, apenas dois valores de nome são inseridos e nenhum valor de id é inserido, mas ao visualizar os dados da tabela, o id já possui um valor, indicando que o auto incremento entra em vigor e
define o valor inicial do auto incremento

mysql> create table tab7(
    -> id int primary key auto_increment,
    -> name varchar(20)
    -> )auto_increment=6;
#插入数据验证
mysql> insert into tab7(name) values('zyz'),('lisi'),('zhangsan');

mysql> select * from tab7;
+----+----------+
| id | name     |
+----+----------+
|  6 | zyz      |
|  7 | lisi     |
|  8 | zhangsan |
+----+----------+

Segundo, o uso da instrução ALTER

1. Modifique o comprimento dos dados do valor da coluna

mysql> desc tab1;
+-------+--------------+------+-----+---------+-------+
| Field | Type         | Null | Key | Default | Extra |
+-------+--------------+------+-----+---------+-------+
| id    | int(10)      | YES  |     | NULL    |       |
| name  | varchar(10)  | NO   | PRI | NULL    |       |
| sex   | varchar(5)   | YES  |     | NULL    |       |
| info  | varchar(200) | YES  |     | NULL    |       |
+-------+--------------+------+-----+---------+-------+
#修改name 字符长度为20
mysql> alter table tab1 modify name varchar(20);

Instrução de controle da tabela de dados do banco de dados
2. Modifique o nome do campo (enquanto modifica o nome do campo, você também pode modificar o tipo e o comprimento dos dados do novo nome do campo)

mysql> desc tab1;
+-------+--------------+------+-----+---------+-------+
| Field | Type         | Null | Key | Default | Extra |
+-------+--------------+------+-----+---------+-------+
| id    | int(10)      | YES  |     | NULL    |       |
| name  | varchar(20)  | NO   | PRI | NULL    |       |
| sex   | varchar(5)   | YES  |     | NULL    |       |
| info  | varchar(200) | YES  |     | NULL    |       |
+-------+--------------+------+-----+---------+-------+
mysql> alter table tab1 change info info2 char(20);

Instrução de controle da tabela de dados do banco de dados
3. Insira um novo campo na tabela
1) Insira uma nova coluna na última coluna:

mysql> desc tab3;
+-------+-------------+------+-----+---------+-------+
| Field | Type        | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| id    | int(6)      | NO   |     | NULL    |       |
| name  | varchar(10) | YES  |     | NULL    |       |
+-------+-------------+------+-----+---------+-------+
2 rows in set (0.00 sec)
#插入一个  zuihou  列
mysql> alter table tab3 add zuihou int(10);

Instrução de controle da tabela de dados do banco de dados
2) Insira uma nova coluna no início da tabela:

mysql> alter table tab3 add sex char(10) first;

3) Insira uma nova coluna após a coluna especificada:

mysql> alter table tab3 add local varchar(255) after name;

4. Adicione restrições ao adicionar campos

mysql> alter table tab3 add hello varchar(20) default 'work';

5.
Antes de adicionar uma chave estrangeira para executar esta operação, você precisa encontrar uma tabela com uma chave primária (a coluna de nome da tabela tab1 aqui é a chave primária)
estrutura da
Instrução de controle da tabela de dados do banco de dados
tabela tab1: estrutura da tabela tab3:
Instrução de controle da tabela de dados do banco de dados
agora adicione a coluna de nome da tabela t3 à tabela t1 Chave estrangeira na coluna de nome (em que t3_t1_name é um nome de restrição personalizado):

mysql> alter table tab3 add constraint tab3_tab1_name foreign key(name) references tab1(name);

Veja as alterações na tabela tab3:
Instrução de controle da tabela de dados do banco de dados
6. Exclua a chave estrangeira
para excluir a chave estrangeira adicionada acima, tab3_tab1_name é o nome da chave estrangeira.

mysql> alter table tab3 drop foreign key tab3_tab1_name;
mysql> alter table tab3 drop key tab3_tab1_name;

——————————

Falando em chaves estrangeiras, aqui está o que é uma chave estrangeira:
consultar informações relacionadas é sobre falar alguns termos. A principal função das chaves estrangeiras é manter a consistência e a integridade dos dados. Ouvi dizer que estava confuso, indicando que não entendi.
Aqui também explico pelas palavras de um irmão mais velho, você pode ver a pequena tabela abaixo
+ ------- + ref + ------- +
| sub | ------> | main |
+ ------- + + ------- +

Referência (ref) o valor de uma coluna na tabela principal de uma coluna na tabela (sub).

Por exemplo, a tabela do aluno possui um número de aluno (sid) e a coluna do aluno (stu) na tabela de pontuação refere-se ao número do aluno da tabela do aluno.Neste caso, o stu da tabela de pontuação. O lado da mesa do aluno é a chave estrangeira.

A tabela secundária também é chamada de tabela de chave estrangeira, a tabela principal também é chamada de tabela de chave primária, uma tabela estrangeira e as colunas também são chamadas de campos.

Então, ao projetar. Adicione uma chave estrangeira à Tabela 1, essa chave estrangeira é o campo de número do aluno na Tabela 2. Então a Tabela 1 é a tabela principal e a Tabela 2 é a tabela filho.

Seu relacionamento mestre-escravo está de cabeça para baixo. No seu diagrama, a Tabela 1 é realmente a tabela principal. A Tabela 2 é uma sub-tabela, mas não é chamada adicionando uma chave estrangeira à Tabela 1, mas adicionando uma chave estrangeira à Tabela 2. O campo de número do aluno na Tabela 2 é chamado de chave estrangeira, que é a chave principal do campo de número do aluno na Tabela 1.

Você pode dizer o seguinte: o campo de número de aluno da Tabela 1 é a chave estrangeira da Tabela 2

———————— Explicação sobre fim de chave estrangeira ——————
7, excluir coluna

mysql> alter table tab3 drop zuihou;

Nota: Se a coluna a ser excluída estiver relacionada a uma coluna em outra tabela, será necessário excluir o relacionamento antes de excluir a coluna. Caso contrário, quando uma coluna com o mesmo nome for criada posteriormente, ela estabelecerá automaticamente um relacionamento.
8. Modifique a ordem das colunas

mysql> alter table tab3 modify name varchar(10) first;

9. Exclua a tabela

#直接删除
mysql> drop table tab6;
Query OK, 0 rows affected (0.01 sec)
#再次删除这个表,可以看到已经提示说没有这个表了,说明已经删除
mysql> drop table tab6;
ERROR 1051 (42S02): Unknown table 'test1.tab6'
#进行判断后删除,if exists表示如果存在就删除
mysql> drop table if exists tab6;
Query OK, 0 rows affected, 1 warning (0.00 sec)
#可以看到上述返回的信息有1个warning事项,可以执行以下命令进行查看
mysql> show warnings;               # 返回的信息显示不知道test1库中的tab6表
+-------+------+----------------------------+
| Level | Code | Message                    |
+-------+------+----------------------------+
| Note  | 1051 | Unknown table 'test1.tab6' |
+-------+------+----------------------------+
1 row in set (0.00 sec)

Da mesma forma, ao executar uma operação de exclusão da tabela, se houver um relacionamento de associação, é necessário excluir primeiro o relacionamento de associação e, em seguida, excluir a tabela.
Da mesma forma, ao executar uma operação de exclusão da tabela, se houver um relacionamento de associação, é necessário excluir o relacionamento de associação e excluir a tabela
. Ao executar a operação de exclusão da tabela, se houver um relacionamento de associação, você precisará excluir o relacionamento de associação antes de excluir a tabela

Acho que você gosta

Origin blog.51cto.com/14227204/2489543
Recomendado
Clasificación