Notas de estudio de Mysql Xiaobai

Introducción a las bases de datos

DB
SGBD

modelo de emergencia

1) Tres elementos del diagrama ER

(1) Entidad: la entidad está representada por un rectángulo y el nombre de la entidad está marcado dentro del rectángulo.
(2) Atributo: el atributo está representado por un óvalo, y el nombre del atributo está marcado dentro del óvalo y conectado con la entidad por una línea de conexión.
(3) Conexiones entre entidades: use rombos para representar las conexiones entre entidades e indique el nombre de la conexión dentro del diamante, conecte los diamantes a entidades relacionadas con líneas de conexión e indique el tipo de conexión en las líneas de conexión.

Relación entre dos entidades: existen relaciones distintas a la de muchos a uno.

Relaciones entre más de dos entidades: todas excepto uno a muchos.

imagen.png

Un inserte la descripción de la imagen aquí
estudiante puede tener una tarjeta de identificación de estudiante y solo debe tener una tarjeta de identificación de estudiante.
inserte la descripción de la imagen aquí

Un estudiante debe y solo puede estar en una clase. El número máximo de estudiantes en una clase es 40 y el número mínimo es 30.

Autor: Little Lucky Q
Enlace: https://www.jianshu.com/p/19610fafcc2b
Fuente: Jianshu
Los derechos de autor pertenecen al autor. Para reimpresión comercial, comuníquese con el autor para obtener autorización, para reimpresión no comercial, indique la fuente.

esquema relacional

relación_nombre(propiedad1,propiedad2...)

mysql

metodo de instalacion

el número de puerto

Comandos relacionados con mysql

? (?) Sinónimo de 'ayuda'. 。。。。。。。
claro (\c) Limpia la declaración de entrada actual.
conectar (\r) Vuelva a conectarse al servidor. Los argumentos opcionales son db y host.
delimitador (\d) Establecer delimitador de declaración.
ego (\G) Enviar comando al servidor mysql, mostrar el resultado verticalmente.
salida (\q) Salga de mysql. Lo mismo que dejar de fumar.
ir (\g) Enviar comando al servidor mysql.
ayuda (\h) Mostrar esta ayuda.
nota (\t) No escriba en el archivo externo.
imprimir (\p) Imprime el comando actual.
inmediato (\R) Cambie su solicitud de mysql.
abandonar (\q) Salir de mysql.
refrito (#) Hash de finalización de reconstrucción.
fuente (.) Ejecute un archivo de script SQL. Toma un nombre de archivo como argumento. ejecutar un script
estado (\s) Obtener información de estado del servidor.
tee (\T) Establecer archivo de salida [to_outfile]. Agregue todo en el archivo de salida dado.
usar (\u) Usar otra base de datos. Toma el nombre de la base de datos como argumento.
juego de caracteres (\C) Cambiar a otro juego de caracteres. Puede ser necesario para procesar binlog con juegos de caracteres de varios bytes.
advertencias (\W) Mostrar advertencias después de cada declaración.
sin advertencia (\w) No mostrar advertencias después de cada declaración.
restablecer la conexión (\x) Limpie el contexto de la sesión.

Funcionamiento básico de la base de datos.

  1. MOSTRAR BASE DE DATOS; Verifique la base de datos, preste atención a la S detrás de ella, se olvidó varias veces
  2. CREAR BASE DE DATOS nombre de la base de datos
  3. Cómo ver la ruta de la base de datos establecida en 2: mostrar variables como 'datadir';
    inserte la descripción de la imagen aquí
  4. Ver los detalles de la base de datos establecida - MOSTRAR CREAR BASE DE DATOS
  5. Modifique el método de codificación de la base de datos: hay muchos pozos aquí

Modificar la codificación de la base de datos

  • latin1, este 1 es exactamente igual que l en la línea de comando, lo siguiente es una serie de informes de error, para ser resueltos
mysql> ALTER DATABASE hzh DEFAULT CHARACTER
    -> SET latinl COLLATE gbk;
ERROR 1115 (42000): Unknown character set: 'latinl'
mysql>  ALTER DATABASE hzh DEFAULT CHARACTER
    -> SET latin1 COLLATE gbk;
ERROR 1273 (HY000): Unknown collation: 'gbk'
mysql> ALTER DATABASE hzh DEFAULT CHARACTER
    -> SET latin1 COLLATE utf8;
ERROR 1273 (HY000): Unknown collation: 'utf8'
mysql> ALTER DATABASE hzh DEFAULT CHARACTER
    -> SET latin1 COLLATE utf-8;
ERROR 1273 (HY000): Unknown collation: 'utf'
mysql> ALTER DATABASE hzh DEFAULT CHARACTER
    -> SET latin1 COLLATE gbk_bin;
ERROR 1253 (42000): COLLATION 'gbk_bin' is not valid for CHARACTER SET 'latin1'
mysql> ALTER DATABASE hzh DEFAULT CHARACTER
    ->  SET latin1 COLLATE utf8_general_ci;
ERROR 1253 (42000): COLLATION 'utf8_general_ci' is not valid for CHARACTER SET 'latin1'

Funcionamiento básico de la tabla de datos

  1. Modo de visualización: int(M) En el tipo de datos entero, M representa el ancho máximo de visualización.
    En int(M), el valor de M no tiene nada que ver con cuánto espacio de almacenamiento ocupa int(M).

  2. ¡Cree una tabla y no la agregue después de completar la definición del último elemento en la tabla ! ! ! ! !

mysql> CREATE TABLE HOBBY(
    -> ho_id INT(10),
    -> ho_name VARCHAR(50),
    -> ho_fre INT(6),
    -> );
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ')' at line 5
  1. Mirando la hoja de datos, el método es diferente del tutorial que elegí.
mysql> SHOW CREATE TABLE hobby;
+-------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table | Create Table                                                                                                                                                       |
+-------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| hobby | CREATE TABLE `hobby` (
  `ho_id` int(10) DEFAULT NULL,
  `ho_name` varchar(50) DEFAULT NULL,
  `ho_fre` int(6) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1 |
+-------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)
  1. No sé por qué SHOW CREATE TABLE hobby\G;esto es un error
    , use DESC para ver
mysql> DESC hobby;
+---------+-------------+------+-----+---------+-------+
| Field   | Type        | Null | Key | Default | Extra |
+---------+-------------+------+-----+---------+-------+
| ho_id   | int(10)     | YES  |     | NULL    |       |
| ho_name | varchar(50) | YES  |     | NULL    |       |
| ho_fre  | int(6)      | YES  |     | NULL    |       |
+---------+-------------+------+-----+---------+-------+
  1. int(M) En el tipo de datos entero, M representa el ancho máximo de visualización. En int(M), el valor de M no tiene nada que ver con cuánto espacio de almacenamiento ocupa int(M).

Operaciones básicas sobre datos en tablas

  1. decimal(10,2) - 2 dígitos para la parte fraccionaria y 8 dígitos para la parte entera
  2. SHOW TABLES;Ver la tabla que se ha creado;
  3. Insertar datos de forma masiva:
mysql> INSERT INTO emp(id,name)
    -> VALUES(1,'sunkaien'),(3,'future');
  1. Ver tabla (distinguir la instrucción DESC)
 mysql> SELECT *FROM 表名;
+------+----------+--------+----------+--------+------------+--------+
| id   | name     | gender | birthday | salary | entry_date | resume |
+------+----------+--------+----------+--------+------------+--------+
|    1 | sunkaien | NULL   | NULL     |   NULL | NULL       | NULL   |
|    3 | future   | NULL   | NULL     |   NULL | NULL       | NULL   |
+------+----------+--------+----------+--------+------------+--------+
  1. Actualizar todos los datos UPDATE emp(表名) SET gender='male';
    Actualizar algunos datos UPDATE emp SET salary=5000 WHERE name='sunkaien';Tenga en cuenta que aquí va seguido de una condición de filtro.
  2. Eliminar datos
    Eliminar parte de los datos DELETE FROM nombre de la tabla [WHERE expresión condicional];
  3. Consultar campos especificados
  SELECT 字段名  FROM 表名;
  1. Operadores relacionales · consulta con condiciones
    =——igual a
    <>——no igual a (recomendado)
    !=——distinto a
    <—menor que
    <=——menor que o igual
    Además, existen instrucciones IN y NOT IN
    Comprender las similitudes y diferencias de las siguientes declaraciones de consulta condicional:
mysql> SELECT age FROM stu
    -> WHERE age>=24;
+-----+
| age |
+-----+
|  24 |
|  26 |
|  24 |
+-----+

mysql> SELECT *FROM stu
    -> WHERE age>=24;
+--------+----------+-----+--------+
| sid    | sname    | age | gender |
+--------+----------+-----+--------+
| S_1003 | hzh      |  24 | male   |
| S_1004 | zhangli  |  26 | female |
| S_1005 | zhaoyuan |  24 | male   |
+--------+----------+-----+--------+

Consulta de información NULL:

mysql> SELECT *FROM emp
    -> WHERE salary IS NULL;
  1. consulta difusa
 mysql> SELECT *FROM stu
    -> WHERE sname LIKE 'z%';#LIKE后面跟匹配字符串

% (signo de porcentaje) significa cualquier 0~n caracteres, _ (guión bajo) significa cualquier carácter

  1. Eliminar palabras clave duplicadas de los resultados de la consulta
    mediante DISTINCT
mysql> SELECT DISTINCT gender FROM stu;
+--------+
| gender |
+--------+
| female |
| male   |
+--------+

Búsqueda Avanzada

  1. Ordenar consulta
 mysql> SELECT * FROM stu
    -> ORDER BY age ASC;#ASC代表升序排列,DESC代表降序
    -> SELECT * FROM stu
    -> ORDER BY age ASC,sid DESC;#并列多个拆寻条件时,优先满足第一个,再第一个无法排序时,再看第二个。
  1. Ordenar y sumar operación
    SELECT nombre de función (nombre de campo) FROM nombre de tabla;
    función: SUM sum AVG valor promedio MAX MIN
  2. operación de grupo
 mysql> SELECT gender,AVG(age) FROM stu  #排序依据
    -> GROUP BY gender; #分组依据
  1. LIMIT paginación
    limita el número de resultados de consulta

PyMysql

lectura y escritura basica

import pymysql
db=pymysql.connecte("localhost","root","1234","future")

cursor=db.cursor()

cursor.execute("SELECT VERSION()")

data=cursor.fetchone()

print("Database version:%s"% data)

db.close()

1

AttributeError: 'module' object has no attribute 'connect'  

error de conexion
2

TypeError: __init__() takes 1 positional argument but 5 were given

**db=pymysql.connect(host="localhost", user="root", password="1234", database="hzh")**Razones por la versión de Python, debe agregar un nombre antes del parámetro

resultado de la operación:

Database version:5.7.24-log

Primeros pasos con Navicat

  1. Ver la base de datos y agregar y eliminar entradas.
    Tal vez nos conectemos a la base de datos local al principio y descubramos que no hay ninguna tabla. En este momento, haga clic con el botón derecho en nuestra base de datos local base de datos localy seleccione Editar conexión, como se muestra en la figura a continuación, en la pestaña Base de datos, crearemos Verificar la lista.

inserte la descripción de la imagen aquí
Haga doble clic en el servidor local para conectarse, y luego también se muestra la tabla de datos en la máquina
inserte la descripción de la imagen aquí

  1. Modifique la tabla de datos
    Haga doble clic en la tabla a modificar, ingrese la edición, mire el círculo rojo en la esquina inferior derecha, puede agregar o eliminar entradas de datos, ¿es muy conveniente?
    inserte la descripción de la imagen aquí
    Hice clic derecho para crear una nueva base de datos y, después de actualizar el host, descubrí que no estaba allí y luego pensé en editar la conexión. ? ? La base de datos no está marcada
    inserte la descripción de la imagen aquí
    y luego ejecuta el archivo en la base de datos construida.
    O simplemente cancele el uso de la lista de base de datos personalizada directamente.

Supongo que te gusta

Origin blog.csdn.net/weixin_54594861/article/details/115366169
Recomendado
Clasificación