Resumen del problema de MySQL y registro de aprendizaje 1: declaración SQL simple; biblioteca, operación de tablas y tipos de datos básicos de MySQL

Resumen de problemas de MySQL y registro de aprendizaje 1

¿Cuál es la diferencia entre utf8 y utf8mb4? -Zhihu(zhihu.com)

Establecer el problema de codificación unificada permanente de Mysql: (2 mensajes) El conjunto de caracteres/codificación unificada permanente MySQL5.7 es utf8 (resolver caracteres confusos)_mysql 5.7.29 utf8 caracteres confusos_Blog de NekoSheep-Blog CSDN

Un artículo para comprender la configuración y el método de modificación de la codificación del juego de caracteres mysql: Nuggets (juejin.cn)

No lo he modificado aquí por el momento, porque algunos blogueros dijeron que no es necesario modificarlo y hay algunos problemas con utf8, por lo que no lo he modificado por el momento.

Descubrí que el cliente de línea de comandos que viene con la última versión de MySQL viene con dos versiones, una sin el sufijo - versión Unicode y otra con la versión -Unicode. Resulta que la versión Unicode nos ha ayudado a unificar la codificación. Así que no necesitamos considerar este tema ahora. (Comparación de las dos imágenes a continuación)

Insertar descripción de la imagen aquí
Insertar descripción de la imagen aquí
A partir de esto, podemos saber que podemos usar directamente la versión -Unicode de la consola en usos posteriores para evitar posibles caracteres confusos.


declaración SQL:

Carpeta de acciones (biblioteca)

​ 增:crear base de datos db1 charset utf8;

​ 查:mostrar creación de base de datos db1;

​ 改:alterar el juego de caracteres gbk de la base de datos db1;

​ Eliminar: eliminar la base de datos db1;

Archivo de operación (tabla)

​ Cambiar carpetas: use db1;

​ Ver la carpeta actual: seleccione la base de datos();

​ 增:crear tabla t1(id int,nombre char);

​ 查:mostrar creación de tabla t1;

​ mostrar tablas; #Ver todo

​ desc t1;

​ 改:alterar tabla t1 modificar nombre char(6);

​ alterar la tabla t1 cambiar el nombre NOMBRE char(7);

​ Eliminar: eliminar tabla t1;

Contenido del archivo de operación (registro)

​ Incrementar: insertar t1(id,name)values(1,'egon1'),(2,'egon2'),(3,'egon3'); #ordenar correspondencia uno a uno

​ 查:seleccione ID, nombre de db2.t1;

​ seleccione * de db2.t1; #Consultar todos los archivos, pero no recomendado

​ 改:actualizar db2.t1 set name='SB';

actualizar db2.t1 establecer nombre = 'DUMP' donde id = 2;

​ Verificar: eliminar de t1;

​ eliminar de t1 donde id = 2;


operaciones de la biblioteca

El lenguaje SQL se divide en tres tipos:

1. Lenguaje de definición de base de datos de declaraciones DDL: base de datos, tabla, vista, índice, procedimiento almacenado, como CREATE DROP ALTER

2. Lenguaje de manipulación de base de datos de declaraciones DML: insertar datos INSERTAR, eliminar datos ELIMINAR, actualizar datos ACTUALIZAR

3. Lenguaje de control de base de datos de declaraciones DCL: por ejemplo, controlar los derechos de acceso del usuario GRANT y REVOKE

Base de datos del sistema

information_schema: biblioteca virtual, no ocupa espacio en disco, almacena algunos parámetros después de que se inicia la base de datos, como información de la tabla de usuarios, información de columnas, información de permisos, información de caracteres, etc.

performance_schema: recopila los parámetros de rendimiento del servidor de la base de datos y registra varios eventos, bloqueos y otros fenómenos que ocurren al procesar solicitudes de consulta.

mysql: biblioteca de autorización, almacena principalmente información de permisos del usuario del sistema

prueba: una base de datos de prueba creada automáticamente por el sistema de base de datos MySQL

Crear base de datos

crear una base de datos nombre de la base de datos charset utf8

Reglas: letras, números, guiones bajos, @, #, & están disponibles; distingue entre mayúsculas y minúsculas; único; no se pueden usar palabras clave; los números no se pueden usar solos; hasta 128 caracteres (similar a las reglas de Python)

Operaciones relacionadas con la base de datos: declaraciones SQL en la sección anterior

*ayuda xxx: puede ver nombres de operaciones relacionadas, reglas de uso, etc.


Operaciones de tabla

motor de almacenamiento

El motor de almacenamiento es el tipo de tabla.

Vea los motores de almacenamiento compatibles con MySQL: mostrar motores;

Insertar descripción de la imagen aquí

Especifique el tipo de tabla/motor de almacenamiento:

crear tabla t1(id int)motor = innodb;#el valor predeterminado es innodb

crear tabla t2(id int)motor = memoria;# almacenado en la memoria, desaparecerá después de reiniciar

crear tabla t3(id int)motor = blackhole; #Tirar datos basura y desaparecerá

crear tabla t4(id int)motor = myisam;

Insertar valor de tabla

insertar en valores t1 (1);

insertar en valores t2 (1);

insertar en valores t3 (1);

insertar en valores t4 (1);

Ver datos de la tabla: seleccione * de tx;

Agregar, eliminar, modificar y consultar tablas

Crear mesa:

crear tabla nombre de la tabla (

Nombre de campo 1 tipo [restricción (ancho)],

Nombre de campo 2 tipo [restricción (ancho)],

);#Los nombres de los campos en la misma tabla no pueden ser iguales, el ancho y las restricciones son opcionales, los nombres y tipos de los campos deben ser

nombre del archivo desc: ver información de la tabla;

show create table t1\G;#Para ver la estructura detallada de la tabla, puede agregar \G para facilitar la visualización línea por línea.

Modificar la estructura de la tabla

Insertar descripción de la imagen aquí
Copiar tabla

por ejemplo, crear tabla t1, seleccionar host, usuario de mysql.user; #Coloque los datos en mysql.user, incluidos los campos de host y usuario, en la tabla t1 (se requieren tanto la estructura de la tabla como los registros)

cree tabla t2 seleccione host, usuario de mysql.user donde 1>5; # Proporcione una lógica incorrecta, solo puede copiar la estructura de la tabla pero no el contenido.

Otro método: cree la tabla t3 como mysql.user;#Puede copiar directamente la estructura de la tabla sin copiar el contenido

Eliminar tabla: eliminar el nombre de la tabla;


tipo de datos

tipo entero

Insertar descripción de la imagen aquí

Si no se especifica, el valor predeterminado es un rango firmado

crear tabla t2(x tinyint unsigned);#bit rango sin signo

La versión anterior mostrará directamente el valor máximo si excede el rango, mientras que la nueva versión informará un error si excede el rango.

Insertar descripción de la imagen aquí

crear tabla t3(id int(1) unsigned); #(1) Este ancho se refiere al ancho de visualización, no al ancho de almacenamiento. El ancho de almacenamiento se fija como se muestra en la tabla anterior.

Ancho de visualización: si la cantidad de datos excede los datos del ancho de visualización, el ancho de visualización del control no es válido.
Insertar descripción de la imagen aquí

punto flotante

el doble decimal flotante tiene diferentes precisiones

Supongo que te gusta

Origin blog.csdn.net/weixin_47723114/article/details/131731718
Recomendado
Clasificación