creación de tablas SQL

1. Introducción a los puntos de conocimiento:

Creación, modificación y eliminación de tablas:

  • 1.1 Crear una tabla directamente:
  • CREAR MESA

    [SI NO EXISTE] tb_name -- Crear si no existe, omitirlo si existe

    (column_name1 data_type1 -- el nombre y el tipo de columna son obligatorios)

      [ CLAVE PRIMARIA -- restricción opcional, clave principal

       | FOREIGN KEY -- clave externa, que hace referencia a valores clave de otras tablas

       | AUTO_INCREMENT -- ID de incremento automático

       | COMENTARIO comentario -- comentario de columna (comentario)

       | DEFAULT default_value -- valor predeterminado

       | ÚNICO: una restricción única que no permite que dos registros tengan el mismo valor de columna

       | NOT NULL -- la columna no es nula

      ], ...

    ) [CHARACTER SET charset] -- codificación de juego de caracteres

    [COLLATE collate_value]: reglas para la clasificación y comparación de columnas (se distingue entre mayúsculas y minúsculas, etc.)

  • 1.2 Cree una tabla copiando la estructura de la tabla de otra tabla: CREATE TABLE tb_name LIKE tb_name_old

  • 1.3 Crear una tabla a partir de los resultados de la consulta de otra tabla: CREATE TABLE tb_name AS SELECT * FROM tb_name_old WHERE options

  • 2.1 Tabla de modificación: ALTER TABLE 表名 修改选项 . Colección de opciones:

1

2

3

4

5

6

7

8

{ ADD COLUMN <nombre de columna> <tipo> -- agregar columna

 | CAMBIAR COLUMNA <nombre de columna antiguo> <nombre de columna nuevo> <tipo de columna nuevo> -- modificar nombre o tipo de columna

 | ALTER COLUMN <nombre de la columna> { SET DEFAULT <valor predeterminado> | DROP DEFAULT } -- modificar/eliminar el valor predeterminado de la columna

 | MODIFY COLUMN <nombre de columna> <tipo> -- modifica el tipo de columna

 | DROP COLUMN <nombre de columna> -- eliminar una columna

 | RENOMBRAR A <nuevo nombre de tabla> -- modificar el nombre de la tabla

 | JUEGO DE CARACTERES <nombre del juego de caracteres> -- modifica el juego de caracteres

 | COLLATE <nombre de regla de intercalación> }: modifica las reglas de intercalación (utilizadas para comparar y clasificar)

  • 3.1 Eliminar la tabla: DROP TABLE [SI EXISTE] nombre de tabla 1 [, nombre de tabla 2].

Análisis detallado:

  • ID de incremento automático: AUTO_INCREMENT;
  • Establecer la clave principal: CLAVE PRIMARIA;
  • Restricción única: ÚNICA
  • Restricción no nula: NOT NULL
  • Establecer valor predeterminado: DEFAULT 0
  • Marca de tiempo actual: CURRENT_TIMESTAMP
  • Comentario/Nota: COMENTARIO
  • Si la tabla ya fue creada, regrese normalmente: SI NO EXISTE

2. Caso

(1) Hay una tabla de información del usuario, que contiene la información de los usuarios que se han registrado en la plataforma durante muchos años. Con el crecimiento continuo de la plataforma Niuke, la cantidad de usuarios aumenta rápidamente. El usuario divide una nueva tabla .

La tabla de información del usuario original:

Archivado Tipo Nulo Llave Por defecto Extra Comentario
identificación int(11) NO EN (NULO) autoincremento ID de incremento automático
fluido int(11) NO UNI (NULO) ID de usuario
apodo varchar(64) (NULO) Apodo
logro int(11) 0 valor de logro
nivel int(11) (NULO) nivel de usuario
trabajo varchar(32) (NULO) direccion de carrera
registro_tiempo fecha y hora FECHA Y HORA ACTUAL tiempo de registro

Como analista de datos, cree una tabla de información de usuario de alta calidad user_info_vip , la estructura de la tabla es consistente con la tabla de información de usuario.

--T1:
CREATE TABLE IF NOT EXISTS user_info_vip
(id int PRIMARY KEY AUTO_INCREMENT COMMENT '自增ID',
 uid int UNIQUE NOT NULL COMMENT '用户ID',
 nick_name	varchar(64) COMMENT '昵称',
 achievement int DEFAULT 0 COMMENT '成就值',
 `level` int COMMENT '用户等级',
 job varchar(32) COMMENT '职业方向',
 register_time datetime DEFAULT CURRENT_TIMESTAMP COMMENT '注册时间')
 CHARACTER SET utf8 COLLATE utf8_general_ci;

--T2:
create table user_info_vip(
id int(11) not null primary key auto_increment comment '自增ID',
uid int(11) not null unique key comment '用户ID',
nick_name varchar(64) comment '昵称',
achievement int(11) default 0 comment '成就值',
level int(11) comment '用户等级',
job varchar(32) comment '职业方向',
register_time datetime default current_timestamp comment '注册时间'
) default charset=utf8

El resultado que debe devolver se muestra en la siguiente tabla. Escriba la declaración de creación de la tabla para registrar todas las restricciones e instrucciones de la tabla en la tabla.

Archivado Tipo Nulo Llave Por defecto Extra Comentario
identificación int(11) NO EN autoincremento ID de incremento automático
fluido int(11) NO UNI ID de usuario
apodo varchar(64) Apodo
logro int(11) 0 valor de logro
nivel int(11) nivel de usuario
trabajo varchar(32) direccion de carrera
registro_tiempo fecha y hora FECHA Y HORA ACTUAL tiempo de registro

Observaciones:
1. El fondo utilizará la declaración SHOW FULL FIELDS FROM user_info_vip para comparar los resultados de salida

2. Si la tabla ha sido creada por otros analistas, simplemente devuélvala normalmente.

Supongo que te gusta

Origin blog.csdn.net/weixin_48272780/article/details/128328964
Recomendado
Clasificación