[MySQL Beginner Series 2]: Enséñele cómo comenzar con MySQL: operaciones de bases de datos y tablas de datos

Si es un novato que acaba de comenzar a aprender MySQL, este artículo le brindará algunos conocimientos prácticos y habilidades introductorias para ayudarlo a comenzar rápidamente.
[MySQL Beginner Series 1]: le enseñará cómo comenzar con MySQL.
Ya hemos hablado antes sobre la instalación de mysql. Este artículo tomará Windows como ejemplo para presentar el funcionamiento de la base de datos MySQL y la tabla de datos (adición, eliminación, modificación y consulta).

1. Información general

Una vez completada la instalación de MySQL, el siguiente paso es crear una base de datos y crear una tabla de datos.

Dos, operación de base de datos MySQL

Después de instalar MySQL, puede realizar operaciones relacionadas con la base de datos. En este momento, no hay una base de datos para nuestro propio uso, por lo que primero tenemos que crear una nueva base de datos propia.

2.1 Crear una base de datos

gramática:

CREATE DATABASE [IF NOT EXISTS] <数据库名>
[[DEFAULT] CHARACTER SET <字符集名>] 
[[DEFAULT] COLLATE <校对规则名>];

La sintaxis se explica de la siguiente manera:

1. <nombre de la base de datos>: el nombre de la base de datos a crear, que no puede comenzar con un número
2. SI NO EXISTE: juzgue antes de crear la base de datos, y solo ejecute la declaración de creación cuando la base de datos no exista.
3. [DEFAULT] JUEGO DE CARACTERES: Especifique el juego de caracteres de la base de datos. El propósito es evitar caracteres distorsionados en los datos almacenados en la base de datos.
4. [DEFAULT] COLLATE: especifique las reglas de clasificación predeterminadas para el juego de caracteres.

Tomemos un ejemplo. Ahora hay una librería. Para almacenar información relacionada con libros, cree una nueva base de datos y asígnele el nombre "librería":

CREATE DATABASE IF NOT EXISTS bookstore
DEFAULT CHARACTER SET utf8mb4
DEFAULT COLLATE utf8mb4_unicode_ci;

Si no desea establecer algunas propiedades, puede usar directamente la siguiente declaración simple:

CREATE DATABASE bookstore;

cuando vea

“Query OK, 1 row affected (0.32 sec);”

En el mensaje, "Query OK" significa que el comando se ejecutó correctamente y "0,32 segundos" significa el tiempo de ejecución.

2.2 Ver todas las bases de datos

gramática práctica

MOSTRAR BASES DE DATOS [COMO 'nombre de la base de datos'];

Por ejemplo:
inserte la descripción de la imagen aquí
la primera es la librería que acabamos de crear

2.3 Modificar la base de datos

  • gramática:
ALTER DATABASE [数据库名] { 
[ DEFAULT ] CHARACTER SET <字符集名> |
[ DEFAULT ] COLLATE <校对规则名>}

La siguiente es una instrucción SQL de ejemplo para modificar el juego de caracteres predeterminado y las reglas de intercalación de una base de datos denominada exampleDB

ALTER DATABASE exampleDB CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

Esta instrucción SQL modificará el conjunto de caracteres predeterminado y las reglas de intercalación de exampleDB a utf8mb4 y utf8mb4_unicode_ci, al tiempo que conserva los datos originales en la base de datos.

  • También puede cambiar el nombre de la base de datos:
ALTER DATABASE exampleDB RENAME TO newDBName;

Cambie la base de datos llamada exampleDB para que se llame newDBName. Cabe señalar que durante el proceso de modificación del nombre de la base de datos, debe cerrar todas las conexiones a la base de datos; de lo contrario, se informará un error.

2.4 Eliminar la base de datos

  • gramática
DROP DATABASE [ IF EXISTS ] <数据库名>

donde nombre_base_datos representa el nombre de la base de datos que se va a eliminar. Si se especifica SI EXISTE, al eliminar una base de datos que no existe, no se informará ningún error, sino que se devolverá de forma silenciosa.

3. Operación de la tabla de datos MySQL

La tabla de datos es una parte importante de la base de datos Hemos presentado cómo crear una nueva base de datos arriba. Las operaciones relacionadas con la tabla se describen a continuación.

3.1 Aprende a crear tablas

  • gramática
CREATE TABLE <表名> ([表定义选项])[表选项][分区选项];

CREATE TABLE table_name (
    column1 datatype [constraint],
    column2 datatype [constraint],
    column3 datatype [constraint],
    ...
    PRIMARY KEY (one or more columns)
);

donde table_name representa el nombre de la tabla que se va a crear. column1, column2, column3, etc. representan los nombres de las columnas en la tabla y datatype representa el tipo de datos de la columna. [restricción] puede omitirse si no es necesario establecer restricciones. PRIMARY KEY se usa para especificar la clave principal en la tabla, y es posible que sea necesario establecer una o más columnas como clave principal para garantizar la unicidad de los datos en la tabla.

  • Por ejemplo:
    Cree una nueva tabla de datos llamada "libros", que incluya el número de libro, el nombre del libro, el autor y el precio:
CREATE TABLE books(
  id INT(11) NOT NULL AUTO_INCREMENT,
  title VARCHAR(255) DEFAULT NULL,
  author VARCHAR(255) DEFAULT NULL,
  price DECIMAL(10,2) DEFAULT NULL,
  PRIMARY KEY(id)
);

3.2 Aprende a eliminar tablas

  • gramática
DROP TABLE [IF EXISTS] table_name;

donde table_name representa el nombre de la tabla que se va a colocar. Si se especifica SI EXISTE, al eliminar una tabla que no existe, no se informará ningún error, sino que se devolverá de forma silenciosa.

  • Por ejemplo:
删除名为 users 的数据库表
DROP TABLE users;

Esta instrucción SQL elimina la tabla de la base de datos denominada usuarios y todos los datos que contiene.

3.3 Aprenda a modificar la estructura de la tabla

  • gramática
ALTER TABLE <表名> [修改选项]ALTER TABLE table_name 
    ADD [COLUMN] column_name data_type [NULL | NOT NULL] [DEFAULT default_value] [AFTER | FIRST column_name],
    DROP [COLUMN] column_name,
    MODIFY [COLUMN] column_name new_data_type [NULL | NOT NULL] [DEFAULT default_value] [FIRST | AFTER column_name],
    RENAME [COLUMN] old_column_name TO new_column_name,
    RENAME TO new_table_name;

Hay muchos parámetros Entre ellos, ADD puede agregar una nueva columna, DROP puede eliminar una columna existente, MODIFY puede modificar el tipo de datos y otros atributos de una columna existente, y RENAME puede cambiar el nombre de una columna existente o la tabla completa.

  • Por ejemplo:
添加一个新列 age 到一个名为 users 的表中
ALTER TABLE users ADD COLUMN age INT(11) AFTER email;
删除一个名为 age 的列
ALTER TABLE users DROP COLUMN age;
修改一个名为 username 的列的数据类型和默认值
ALTER TABLE users MODIFY COLUMN username VARCHAR(100) NOT NULL DEFAULT 'anonymous' AFTER id;
将一个名为 name 的列重命名为 full_name
ALTER TABLE users RENAME COLUMN name TO full_name;
将一个名为 users 的表重命名为新名称 customers
ALTER TABLE users RENAME TO customers;

3.4 Introducción al tipo de datos y uso de tipos de datos de tiempo como DATE, TIME, DATETIME y TIMESTAMP

En SQL, hay muchos tipos de datos diferentes, incluidos tipos numéricos, tipos de caracteres, tipos de fecha y hora y más. Algunos tipos de datos comunes se describen brevemente a continuación:

  • INT/ INTEGER: tipo entero
  • VARCHAR: tipo de cadena de longitud variable
  • CHAR: tipo de cadena de longitud fija
  • TEXT: tipo de cadena de texto
  • DECIMAL/ NUMERIC: tipo de número de punto fijo
  • FLOAT/ DOUBLE: tipo de coma flotante
  • DATE: tipo de fecha, solo precisa hasta la fecha
  • TIME: tipo de tiempo, solo con precisión de horas, minutos y segundos
  • DATETIME: tipo de fecha y hora, precisión de milisegundos
  • TIMESTAMP: tipo de marca de tiempo, con precisión de segundos

Las siguientes son instrucciones SQL de ejemplo que utilizan diferentes tipos de datos de tiempo:

  • DATEAlmacenar datos de fecha usando

    CREATE TABLE sales (
        id INT(11) NOT NULL AUTO_INCREMENT,
        customer_id INT(11) NOT NULL,
        order_date DATE NOT NULL,
        total_amount DECIMAL(10,2) NOT NULL,
        PRIMARY KEY (id)
    );
    

    order_dateLa columna se especifica como DATEtipo, por lo que solo es precisa hasta la fecha, no la hora.

  • TIMEAlmacenar datos de tiempo usando

    CREATE TABLE employees (
        id INT(11) NOT NULL AUTO_INCREMENT,
        name VARCHAR(50) NOT NULL,
        start_time TIME NOT NULL,
        PRIMARY KEY (id)
    );
    

    start_time 列被指定为TIME`, por lo que solo es preciso en hora, minuto y segundo, sin incluir la fecha.

  • DATETIMEAlmacenar datos de fecha y hora usando

    CREATE TABLE log (
        id INT(11) NOT NULL AUTO_INCREMENT,
        access_time DATETIME NOT NULL,
        user_id INT(11) NOT NULL,
        PRIMARY KEY (id)
    );
    

    access_time 列被指定为tipo DATETIME`, por lo que incluye la fecha y la hora, con una precisión de milisegundos.

  • TIMESTAMPAlmacenar datos con marca de tiempo usando

    CREATE TABLE bookings (
        id INT(11) NOT NULL AUTO_INCREMENT,
        checkin_time TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
        checkout_time TIMESTAMP NOT NULL DEFAULT '1970-01-01 00:00:01',
        room_id INT(11) NOT NULL,
        PRIMARY KEY (id)
    );
    

    checkin_time checkout_time 列都被指定为TIMESTAMP 类型,因此它们包括日期和时间,精确到秒。其中,checkin_time 的默认值被设置为当前时间戳,checkout_time 的默认值被设置为'1970-01-01 00:00:01'`, que representa el valor mínimo de marca de tiempo.

Cabe señalar que en diferentes sistemas de gestión de bases de datos, el tipo de datos de tiempo puede ser diferente, como la diferencia entre DATETIMEy TIMESTAMP. Además, se debe considerar detenidamente cómo se manejan las zonas horarias, los segundos intercalares, etc. En el uso real, se recomienda consultar los documentos y estándares relevantes y seguir las mejores prácticas.

3.5 Cómo utilizar las restricciones de SQL para proteger la integridad de los datos

En SQL, puede usar restricciones (Constraint) para limitar o proteger la integridad de los datos en la tabla. Estas restricciones incluyen restricciones a nivel de columna y restricciones a nivel de tabla.

Las restricciones a nivel de columna son restricciones en columnas individuales, como las restricciones NOT NULL, UNIQUE, PRIMARY KEY y FOREIGN KEY. Las restricciones a nivel de tabla son restricciones en varias columnas, como las restricciones CHECK.

Aquí hay algunas restricciones comunes de SQL y cómo se usan para proteger la integridad de los datos:

  • NOT NULLRestricciones: Se utiliza para garantizar que los valores de una columna no sean nulos.

    CREATE TABLE Users (
        ID INT NOT NULL,
        FirstName VARCHAR(50) NOT NULL,
        LastName VARCHAR(50) NOT NULL,
        Email VARCHAR(100) NOT NULL,
        CONSTRAINT PK_Users PRIMARY KEY (ID)
    );
    

    IDLas columnas FirstName, LastNamey Emailestán configuradas NOT NULLpara garantizar que los valores de estas columnas no puedan ser nulos.

  • UNIQUERestricciones: Se utiliza para garantizar que los valores de una columna sean únicos.

    CREATE TABLE Products (
        ID INT NOT NULL,
        Name VARCHAR(100) NOT NULL,
        Description TEXT,
        SKU VARCHAR(50) UNIQUE,
        CONSTRAINT PK_Products PRIMARY KEY (ID)
    );
    

    SKULa columna está configurada UNIQUEpara garantizar que cada producto tenga un número de SKU único.

  • PRIMARY KEYRestricción: se utiliza para especificar que una o más columnas son la clave principal de la tabla, lo que garantiza que cada fila tenga un identificador único.

    CREATE TABLE Orders (
        ID INT PRIMARY KEY,
        CustomerID INT NOT NULL,
        OrderDate DATETIME DEFAULT NULL,
        CONSTRAINT FK_Orders_Customers FOREIGN KEY (CustomerID) REFERENCES Customers(ID)
    );
    

    IDLa columna está configurada PRIMARY KEYpara garantizar que cada pedido tenga un identificador único.

  • FOREIGN KEYRestricciones: Se utiliza para garantizar que los valores de una columna coincidan con los valores de una columna de otra tabla.

    CREATE TABLE OrderDetails (
        ID INT PRIMARY KEY,
        OrderID INT NOT NULL,
        ProductID INT NOT NULL,
        Quantity INT NOT NULL,
        CONSTRAINT FK_OrderDetails_Orders FOREIGN KEY (OrderID) REFERENCES Orders(ID),
        CONSTRAINT FK_OrderDetails_Products FOREIGN KEY (ProductID) REFERENCES Products(ID)
    );
    

    OrderID ProductID 列都被设置为FOREIGN KEY` para garantizar que la fila de detalles del pedido coincida con la fila correcta en las tablas de pedidos y productos.

  • CHECKRestricciones: Se utiliza para garantizar que los valores de una columna cumplan ciertas condiciones.

    CREATE TABLE Employees (
        ID INT PRIMARY KEY,
        FirstName VARCHAR(50) NOT NULL,
        LastName VARCHAR(50) NOT NULL,
        HireDate DATE,
        Salary DECIMAL(10,2) NOT NULL,
        CONSTRAINT CK_Employees_Salary CHECK (Salary > 0)
    );
    

    Restricción Salary 列被设置为CHECK` para garantizar que el salario de cada empleado sea mayor que 0.

Mediante el uso de restricciones, puede proteger la integridad y validez de los datos en SQL. Al intentar insertar o actualizar datos en una tabla, si se viola alguna restricción, SQL generará un error, lo que evitará que se confirme la transacción.

3.6 Copia de seguridad y recuperación de tablas

En SQL, podemos usar la función de copia de seguridad y restauración para guardar y restaurar datos en la base de datos.

La base de datos MySQL también proporciona funciones de copia de seguridad y recuperación, que mysqldumpse pueden respaldar con el comando y mysqlrestaurar con el comando. A continuación se muestra la sintaxis y los ejemplos para realizar copias de seguridad y restaurar tablas de bases de datos MySQL:

  • Copia de seguridad de tablas MySQL

    /*备份整个数据库*/ 
    mysqldump -u root -p database_name > backup_file.sql 
    
    /*备份单个表结构和数据*/
    mysqldump -u root -p database_name table_name > backup_file.sql 
    
    /*备份单个表结构*/
    mysqldump -u root -p -d database_name table_name > backup_file.sql 
    

    Al ejecutar el comando de copia de seguridad, -uindica el nombre de usuario para iniciar sesión en la base de datos MySQL, -pindica el aviso al ingresar la contraseña, database_nameindica el nombre de la base de datos de la que se realizará la copia de seguridad e table_nameindica el nombre de la tabla de la base de datos de la que se realizará la copia de seguridad. . El archivo de copia de seguridad backup_file.sqlse puede decidir por uno mismo y el directorio de almacenamiento de archivos también se puede especificar al mismo tiempo.

  • restaurar tabla mysql

    /*从备份文件中还原整个数据库*/ 
    mysql -u root -p database_name < backup_file.sql 
    
    /*从备份文件中还原单个表结构和数据*/
    mysql -u root -p database_name < backup_file.sql 
    
    /*从备份文件中还原单个表结构*/
    mysql -u root -p database_name < backup_file.sql 
    

    La sintaxis del comando de restauración es aproximadamente la misma que la del comando de copia de seguridad, la única diferencia es que el archivo de copia de seguridad se utiliza como entrada estándar para restaurar la tabla. Al realizar una operación de restauración, se debe tener cuidado para garantizar que los nombres y las estructuras de las tablas en la tabla de la base de datos actual y el archivo de copia de seguridad sean coherentes.

Cabe señalar que los comandos de copia de seguridad y recuperación de MySQL generalmente requieren privilegios de administrador y tardan mucho tiempo en ejecutarse.Al mismo tiempo, también se debe considerar la seguridad y la gestión de los archivos de copia de seguridad. En la práctica, las estrategias de copia de seguridad y recuperación deben considerarse cuidadosamente, y deben cumplirse las prácticas recomendadas y la seguridad de la base de datos pertinente.

Supongo que te gusta

Origin blog.csdn.net/fumeidonga/article/details/131144607
Recomendado
Clasificación