Introducción a los conceptos básicos de la base de datos Mysql

Introducción a los conceptos básicos de la base de datos Mysql

1. Introducción a la base de datos

1.1 Historial de desarrollo de la base de datos.

1.1.1 Desventajas de los sistemas de gestión de archivos

  • Escribir aplicaciones es inconveniente

  • La redundancia de datos es inevitable

  • dependencias de la aplicación

  • No se admite el acceso simultáneo a archivos

  • Conexión débil entre datos

  • Dificultad para representar datos en la vista del usuario.

  • Sin función de control de seguridad

1.1.2 Etapa de desarrollo del sistema de base de datos

  • En su infancia: sistemas de archivos

    • Utilice archivos de disco para almacenar datos
  • Etapa primaria: base de datos de primera generación

    • Aparecieron las bases de datos del modelo de red y del modelo jerárquico.
  • Etapa intermedia: base de datos de segunda generación

    • Bases de datos relacionales y lenguajes de consulta estructurados.
  • Etapa avanzada: base de datos de nueva generación

    • Base de datos de "objetos relacionales"

1.3 Sistema de gestión de bases de datos DBMS

  • Base de datos: una base de datos es una colección de datos que se almacena en un medio de almacenamiento en una determinada forma organizativa.

  • DBMS: es un software de sistema que administra bases de datos e implementa varias funciones del sistema de base de datos. Es el núcleo del sistema de base de datos.

  • DBA: Responsable de la planificación, diseño, coordinación, mantenimiento y gestión de la base de datos.

  • Aplicación: se refiere a una aplicación basada en una base de datos.

1.4 Ventajas de los sistemas de gestión de bases de datos

  • Una colección de datos interrelacionados.

  • Menos redundancia de datos

  • Los programas y los datos son independientes entre sí.

  • Garantizar la seguridad y confiabilidad de los datos

  • Maximice la precisión de los datos

  • Los datos se pueden utilizar simultáneamente y al mismo tiempo garantizar la coherencia.

1.5 Funciones básicas del sistema de gestión de bases de datos.

  • definición de datos

  • procesamiento de datos

  • Seguridad de datos

  • copias de seguridad

1.6 Arquitectura del sistema de base de datos

  • Arquitectura independiente

  • Arquitectura de mainframe/terminal

  • Arquitectura maestro-esclavo (C/S)

  • Arquitectura distribuida

1.7 Varios sistemas de gestión de bases de datos

1.7.1 Base de datos jerárquica

Insertar descripción de la imagen aquí

1.7.2 Base de datos de la red

Insertar descripción de la imagen aquí

1.7.3, base de datos relacional RDBMS

Sistema de gestión de bases de datos relacionales, el modelo relacional fue descrito originalmente por Edgar F. Codd, un informático británico de IBM,
en 1969. En 1974, IBM comenzó a desarrollar System R, un proyecto de investigación para desarrollar un prototipo de RDBMS. Sin embargo, el primer RDBMS disponible comercialmente fue Oracle, lanzado en 1979 por Relational Software (ahora Oracle Corporation).

1.7.3.1 Conceptos relacionados con la base de datos del sistema
  • Relacional: una relación es una tabla bidimensional, donde el orden de las filas y columnas de la tabla no es importante.

  • Fila: cada fila de la tabla, también llamada registro.

  • Columna: cada columna de la tabla se denomina atributo, campo o campo.

  • Clave principal: PK, un campo utilizado para determinar de forma única un registro. Una tabla tiene solo una clave principal.

  • Dominio de dominio: el rango de valores del atributo. Por ejemplo, el género solo puede tener dos valores: "masculino" y "femenino", y la edad humana solo puede ser 0-150.

1.7.3.2 Bases de datos relacionales de uso común

MySQL: MySQL, MariaDB, servidor Percona

PostgreSQL: pgsql para abreviar, EnterpriseDB

1.7.3.3 Clasificación de la base de datos

https://db-engines.com/es/ranking

1.8 Teoría de bases de datos relacionales

1.8.1 Modelo de contacto de entidad ER

Entidad : Las cosas objetivas o eventos abstractos que existen objetivamente y se pueden distinguir entre sí se denominan entidades. En el diagrama ER, se utiliza un cuadro rectangular para representar la entidad y el nombre de la entidad se escribe en el cuadro.

Atributos : Características o propiedades de una entidad.

Conexión : una conexión es una colección de asociaciones entre datos y una cadena semántica de aplicación objetivamente existente.

• Relación dentro de una entidad: se refiere a la relación entre los atributos que componen la entidad. Por ejemplo, en la entidad de empleado, existe una relación entre el número de empleado y el número del director de departamento.

• Relación entre entidades: se refiere a la relación entre diferentes entidades. Ejemplo: entre la entidad de selección de cursos del estudiante y la entidad de información básica del estudiante

• La relación entre entidades está representada por un cuadro de diamantes
1.8.2 Tipo de contacto
Contacto uno a uno (1:1)

Relación uno a muchos (1:n): clave externa

Relación de muchos a muchos (m:n): agregue una tercera tabla

1.8.3 Operaciones de datos

  • Extracción de datos : extraiga contenido interesante de una recopilación de datos. SELECCIONAR

  • Actualización de datos**: Cambia los datos en la base de datos. INSERTAR, ELIMINAR, ACTUALIZAR

1.8.4 Proceso de planificación de la base de datos

1. Recopilar datos y obtener campos
2. Recopilar los elementos de datos necesarios y completos
3. Convertir en campos de la tabla de datos

2. Bases de datos relacionales y bases de datos no relacionales

1) Describa la base de datos relacional del sistema de base de datos principal: Mysql (Oracle), servidor SQL (Microsoft), acceso (producto de Microsoft Office) Oracle, DB2 (IBM), sybase (sybase), etc. 2) Base de datos relacional y La diferencia entre
no -bases de datos relacionales y bases de datos relacionales: la estructura de la base de datos relacional es una tabla de base de datos bidimensional. Cada campo (columna) en la tabla bidimensional se usa para describir un atributo del objeto, y cada registro (fila) se usa para describir La información de un objeto (información completa), dondequiera que se escriba la base de datos relacional, se almacena en el disco duro y el sistema de lectura y escritura estará sujeto a restricciones o cuellos de botella de IO.Ventajas
:

1. Formato flexible: el formato para almacenar datos puede ser en forma de clave, valor, documento, imagen, etc. Es flexible de usar y tiene una amplia gama de escenarios de aplicación, mientras que las bases de datos relacionales solo admiten tipos básicos.
2. Velocidad rápida: NoSQL puede usar disco duro o memoria de acceso aleatorio como soporte, mientras que la base de datos relacional solo puede usar disco duro 3.
Alta escalabilidad y alta disponibilidad
4. Bajo costo: la base de datos NoSQL es fácil de implementar y es básicamente abierta software fuente.

Desventajas:
1. No proporciona soporte SQL y los costos de aprendizaje y uso son altos,
2. No hay procesamiento de transacciones,
3. La estructura de datos es relativamente compleja y faltan consultas complejas.
3. Conceptos básicos de base de datos.

2.1 La necesidad de utilizar una base de datos

El uso de una base de datos puede almacenar datos de manera eficiente y clara, lo que permite a las personas administrarlos de manera más rápida y conveniente. La base de datos tiene las siguientes características.

  • Se puede almacenar una gran cantidad de información de datos de manera estructurada para facilitar la recuperación y el acceso efectivos por parte de los usuarios.

  • Puede mantener eficazmente la coherencia y la integridad de la información de los datos y reducir la redundancia de datos.

  • Puede cumplir con los requisitos de seguridad y uso compartido de aplicaciones.

  • La tecnología de bases de datos es una de las tecnologías centrales de la informática y tiene una base teórica completa. Dominar los conceptos básicos de la base de datos le ayudará a comprender la base de datos.

2.2 Conceptos básicos de base de datos

2.2.1, Datos (Datos)

  • Registros simbólicos que describen cosas.

  • Incluyendo números, texto, gráficos, imágenes, sonidos, registros de archivos, etc.

  • Almacenado en un formato unificado en forma de "registros"

2.2.2, tabla

  • Organiza diferentes registros juntos

  • Se utiliza para almacenar datos específicos.

2.2.3 Base de datos

  • Una colección de tablas es un almacén que almacena datos.

  • Una colección de datos relacionados almacenados de manera organizada.

3. Instalación de MySQL


programa cliente MySQL

  • mysql: herramienta CLI interactiva

  • mysqladmin: administra mysqld según el protocolo mysql

  • mysqlimport: herramienta de importación de datos

  • Herramientas de gestión para el motor de almacenamiento MyISAM:

  • myisamchk: consulte la biblioteca MyISAM

  • myisampack: Empaqueta tablas MyISAM, de solo lectura

Programa del lado del servidor

  • mysqld_safe

  • mysqld

  • mysqld_multi múltiples instancias, ejemplo: mysqld_multi

[root@localhost ~]#yum info mariadb
可安装的软件包
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
可安装的软件包
名称    :mariadb
架构    :x86_64
时期       :1
版本    :5.5.56
发布    :2.el7
大小    :8.7 M
源    :yum
简介    : A community developed branch of MySQL
网址    :http://mariadb.org
协议    : GPLv2 with exceptions and LGPLv2 and BSD
描述    : MariaDB is a community developed branch of
         : MySQL. MariaDB is a multi-user,
         : multi-threaded SQL database server. It is a
         : client/server implementation consisting of
         : a server daemon (mysqld) and many different
         : client programs and libraries. The base
         : package contains the standard MariaDB/MySQL
         : client programs and generic MySQL files.
 
MySQL被Sun收购后,搞了个过渡的6.0版本,没多久就下线了,后来被Oracle收购后,终于迎来了像样的5.6
版本,之后就是5.7、8.0版本。由于6.0版本号已被用过,7.x系列版本专用于NDB Cluster,因而新版本
号从8.0开始。

3.1 Método 1: compilar e instalar

1. #安装依赖包并解压下载的mysql
yum install -y ncurses-devel autoconf cmake
tar zxf mysql-5.6.26.tar.gz 
 
2. #编译安装
cd mysql-5.6.26/
 
###编译###
cmake  \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DEXTRA_CHARSETS=all \
-DSYSCONFIDIR=/etc \
-DMYSQL_DATADIR=/home/mysql/ \
-DMYSQL_UNIX_ADDR=/home/mysql/mysql.sock
 
###安装###
make && make install -j4
 
3. #拷贝文件,并授权
cp support-files/my-default.cnf /etc/my.cnf
cp support-files/mysql.server /etc/init.d/mysqld
chmod 755 /etc/init.d/mysqld 
chkconfig --add /etc/init.d/mysqld
chkconfig  mysqld --level 35 on
 
4. #设置环境变量,申明/宣告mysql命令便于系统识别
echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
source /etc/profile
echo $PATH
 
5. #创建普通用户管理mysql
useradd -s /sbin/nologin mysql
chown -R mysql:mysql /usr/local/mysql/
chown mysql:mysql /etc/my.cnf
 
 
6. #初始化初始化数据库
/usr/local/mysql/scripts/mysql_install_db \
--user=mysql \
--ldata=/var/lib/mysql \
--basedir=/usr/local/mysql \
--datadir=/home/mysql
 
7. #修改配置文件
vim /etc/init.d/mysqld 
 
##修改46,47行
basedir=/usr/local/mysql
datadir=/home/mysql
 
8. #启动mysql
service mysqld start
ss -ntap|grep "3306"
 
9. #登录及登出mysql
##给root账号设置密码
mysqladmin -u root -p password "123123"
##登录mysql
mysql -u root -p
##登出mysql
mysql> exit
Bye

Instale los paquetes de dependencia y descomprima la
Insertar descripción de la imagen aquí
Insertar descripción de la imagen aquí
compilación
Insertar descripción de la imagen aquí
Insertar descripción de la imagen aquí
e instalación de MySQL descargada. Copie los archivos y autorícelos
Insertar descripción de la imagen aquí
. Establezca variables de entorno y declare/declare comandos de MySQL para facilitar la identificación del sistema.
Insertar descripción de la imagen aquí
Insertar descripción de la imagen aquí
Cree un usuario común para administrar la inicialización de MySQL
Insertar descripción de la imagen aquí
e inicializar la base de datos.
Insertar descripción de la imagen aquí
Modifique el archivo de configuración.
Insertar descripción de la imagen aquí
Insertar descripción de la imagen aquí
Inicie
Insertar descripción de la imagen aquí
sesión en mysql y cierre sesión en mysql.
Insertar descripción de la imagen aquí
Insertar descripción de la imagen aquí

3.2 Método 2: Instalar la versión 5.7 con yum



1. #创建mysql源
cd /etc/yum.repos.d/
vim mysql.repo
[mysql]
name=mysql5.7
baseurl=https://mirrors.tuna.tsinghua.edu.cn/mysql/yum/mysql-5.7-community-el7-x86_64/
gpgcheck=0
 
2. #安装服务mysql-community-server
yum -y install mysql-community-server
 
3. #启动服务
systemctl start mysqld
ss -ntap |grep 3306
 
4. #登入数据库,但是密码是默认的,需要查看
mysql -u root -p
grep password /var/log/mysqld.log
mysql -u root -p'+8saq%5+ljzG'
#特殊符号用单引号引起来
 
5. #登入数据库后必须修改密码
status
alter user root@'localhost' identified by 'Yxp15@2021';
 
#可以使用mysql> \h查看帮助

``
Instalar y comenzar

Insertar descripción de la imagen aquí
Insertar descripción de la imagen aquí
Inicie el servicio
Insertar descripción de la imagen aquí
e inicie sesión en la base de datos, pero la contraseña es predeterminada y debe verificarse.
Insertar descripción de la imagen aquí
La contraseña debe cambiarse después de iniciar sesión en la base de datos.
Insertar descripción de la imagen aquí

4. Múltiples instancias

4.1 Introducción a múltiples instancias

  • ¿Qué es la base de datos de múltiples instancias?

La instancia múltiple es similar a la apertura dual de WeChat, el número de puerto es como la cuenta de WeChat, la base de datos es como una ventana de chat y la tabla es como un registro de chat. La instancia múltiple de MySQL es para abrir múltiples puertos de servicio diferentes (como: 3306 , 3307, etc.) en un servidor al mismo tiempo y ejecutan varios servidores al mismo tiempo. Un proceso de servicio MySQL, estos procesos de servicio escuchan diferentes puertos de servicio a través de diferentes Sockets para proporcionar servicios. Varias instancias pueden ser versiones diferentes de MySQL o pueden ser la misma versión de MySQL.

  • Beneficios de múltiples instancias

Los recursos del servidor se pueden utilizar de manera eficiente. Cuando un único servidor tiene recursos excedentes, los recursos restantes se pueden utilizar por completo para proporcionar más servicios y se puede lograr un aislamiento lógico de los recursos para ahorrar recursos del servidor. Por ejemplo, los recursos del servidor de la empresa son escasos, pero las bases de datos deben proporcionar servicios de la manera más independiente posible y también necesitan tecnologías como la replicación maestro-esclavo. La instancia múltiple es la mejor opción.

  • Desventajas de múltiples instancias
    : Existe el problema de la apropiación de recursos. Por ejemplo: cuando una instancia de base de datos tiene una alta concurrencia o consultas SQL lentas, toda la instancia consumirá una gran cantidad de CPU, E/S de disco y otros recursos, lo que hará que la calidad de los servicios proporcionados por otras instancias de base de datos en el servidor también disminuya. , por lo que las necesidades específicas deben determinarse de acuerdo con su situación real.

4.2 Ejemplos de instancias múltiples

1. #安装mariadb-server并启动登入系统
yum -y install mariadb-server
systemctl start mariadb.service
 
#一路回车,并设置密码
mysql_secure_installation 
 
#登入系统
mysql -u root -p123123
 
 
 
2. #创建目录和文件夹
mkdir -pv /mysql/{
    
    3306,3307,3308}/{
    
    data,etc,socket,log,bin,pid}
 
3. #设置属主属组
 chown -R mysql.mysql /mysql
 tree -d /mysql/
 
 4. #初始化数据库
 mysql_install_db --user=mysql --datadir=/mysql/3306/data
 mysql_install_db --user=mysql --datadir=/mysql/3307/data
 mysql_install_db --user=mysql --datadir=/mysql/3308/data
 
 5. #编辑配置文件
vim /mysql/3306/etc/my.cnf 
[mysqld]
port=3306
datadir=/mysql/3306/data
socket=/mysql/3306/socket/mysql.sock
log-error=/mysql/3306/log/mysql.log
pid-file=/mysql/3306/pid/mysql.pid
 
6. #修改3307和3308配置文件
sed 's/3306/3307/' /mysql/3306/etc/my.cnf > /mysql/3307/etc/my.cnf
 
sed 's/3306/3308/' /mysql/3306/etc/my.cnf > 
/mysql/3308/etc/my.cnf
 
 
7. #准备启动脚本
vim /mysql/3306/bin/mysqld
#!/bin/bash
 
port=3306
mysql_user="root"
mysql_pwd=""
cmd_path="/usr/bin"
mysql_basedir="/mysql"
mysql_sock="${mysql_basedir}/${port}/socket/mysql.sock"
 
function_start_mysql()
{
    
    
    if [ ! -e "$mysql_sock" ];then
      printf "Starting MySQL...\n"
      ${cmd_path}/mysqld_safe --defaults-file=${mysql_basedir}/${port}/etc/my.cnf  &> /dev/null  &
    else
      printf "MySQL is running...\n"
      exit
    fi
}
 
 
function_stop_mysql()
{
    
    
    if [ ! -e "$mysql_sock" ];then
       printf "MySQL is stopped...\n"
       exit
    else
       printf "Stoping MySQL...\n"
       ${cmd_path}/mysqladmin -u ${mysql_user} -p${mysql_pwd} -S ${mysql_sock} shutdown
   fi
}
 
 
function_restart_mysql()
{
    
    
    printf "Restarting MySQL...\n"
    function_stop_mysql
    sleep 2
    function_start_mysql
}
 
case $1 in
start)
    function_start_mysql
;;
stop)
    function_stop_mysql
;;
restart)
    function_restart_mysql
;;
*)
    printf "Usage: ${mysql_basedir}/${port}/bin/mysqld {start|stop|restart}\n"
esac
 
8. #重复上述过程,分别建立3307,3308的启动脚本
 
9. #授权并启动服务
chmod +x /mysql/3306/bin/mysqld 
chmod +x /mysql/3307/bin/mysqld 
chmod +x /mysql/3308/bin/mysqld 
 
/mysql/3306/bin/mysqld start
/mysql/3307/bin/mysqld start
/mysql/3308/bin/mysqld start
 
#查看有没有启动成功
ss -natp|grep 33
 
 
10. #怎么看mysql这个进程是不是超线程
1)#找到mysql进程号
pstree -p
2)#查看,5450就是查看的进程号
cat /proc/5450/status |grep Threads
 
11. #登入mysql
#示例
mysql -h127.0.0.1 -P3308
 
12. #怎么杀掉这个进程,示例
/mysql/3308/bin/mysqld stop
 
13. #修改密码示例
mysqladmin -uroot -S /mysql/3306/socket/mysql.sock password  
'123123' 
 
14. #设置开机启动
vim /etc/rc.d/rc.local
for i in {
    
    3306..3308};do /mysql/$i/bin/mysqld start;done
 
chmod +x /etc/rc.d/rc.local
 
开机后
bash /etc/rc.d/rc.local 

Instalar el servidor mariadb

Insertar descripción de la imagen aquí
Insertar descripción de la imagen aquí
Insertar descripción de la imagen aquí
Insertar descripción de la imagen aquí
Crear directorios y carpetas
Insertar descripción de la imagen aquí
Insertar descripción de la imagen aquí
Inicializar base de datos

Insertar descripción de la imagen aquí
Insertar descripción de la imagen aquí
Insertar descripción de la imagen aquí
Editar el archivo de configuración
Insertar descripción de la imagen aquí
Modificar los archivos de configuración 3307 y 3308
Insertar descripción de la imagen aquí
Preparar el script de inicio
Insertar descripción de la imagen aquí
Repetir el proceso anterior para crear scripts de inicio para 3307 y 3308
Insertar descripción de la imagen aquí
Insertar descripción de la imagen aquí
Autorizar e iniciar el servicio

Insertar descripción de la imagen aquí
¿Cómo comprobar si el proceso mysql tiene hiperproceso?¿ Cómo finalizar este proceso
Insertar descripción de la imagen aquí
Insertar descripción de la imagen aquí
después de iniciar sesión en mysql ?
Insertar descripción de la imagen aquí

Insertar descripción de la imagen aquí

5. Instale complementos para que los comandos SQL se puedan completar cuando se utilicen.

1. #安装插件
yum install -y libffi-devel
yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel
 
2. #将php包导入/opt下,解压安装php
cd /opt/
tar zxvf Python-3.7.7_.tgz
##编译
cd Python-3.7.7/
./configure --prefix=/usr/local/Python-3.7.7/
 
##安装
make && make install
 
##做软连接
ln -s  /usr/local/Python-3.7.7/bin/python3.7  /usr/bin/python37
ln -s /usr/local/Python-3.7.7/bin/pip3.7 /usr/bin/pip37
pip37 install mycli -i http://mirrors.aliyun.com/pypi/simple --trusted-host mirrors.aliyun.com
ln -s /usr/local/Python-3.7.7/bin/mycli /usr/bin/mycli
 
3. #登录
mycli -u root -p 123123
 
 
####如果不装插件
[root@localhost ~]#vim /etc/my.cnf                       
[mysql]
prompt=(\\u@\\h) [\\d]>\\_
 
auto-rehash

Instale el complemento.
Insertar descripción de la imagen aquí
Insertar descripción de la imagen aquí
Importe el paquete php en /opt, descomprímalo e instale php
Insertar descripción de la imagen aquí
Insertar descripción de la imagen aquí
Insertar descripción de la imagen aquí
para realizar una conexión suave.
Insertar descripción de la imagen aquí
Insertar descripción de la imagen aquí

Insertar descripción de la imagen aquí
Insertar descripción de la imagen aquí

6. Operaciones básicas de bases de datos

6.1 Clasificación SQL

  • Base de datos: base de datos

  • Tabla: tabla, fila: fila columna: columna

  • Índice: índice

  • Ver: ver

  • Procedimiento almacenado: procedimiento

  • Función almacenada: función

  • Gatillo: gatillo

  • Programador de eventos: programador de eventos, plan de tareas

  • Usuario: usuario

  • Permisos: privilegio

6.2 Especificación del lenguaje SQL

  • En el sistema de base de datos, las declaraciones SQL no distinguen entre mayúsculas y minúsculas y se recomienda utilizar letras mayúsculas.

  • Las declaraciones SQL se pueden escribir en una sola línea o en varias líneas y terminar con ";" de forma predeterminada.

  • Las palabras clave no pueden abarcar varias líneas o abreviaturas.

  • Utilice espacios y sangría TAB para mejorar la legibilidad de las declaraciones

  • Las cláusulas suelen estar en líneas separadas para facilitar la edición y mejorar la legibilidad.

Objetos de base de datos y denominación
de componentes de base de datos (objetos):
bases de datos, tablas, índices, vistas, usuarios, procedimientos almacenados, funciones, activadores, programadores de eventos, etc.

Reglas de nomenclatura:
debe comenzar con una letra y puede incluir letras, números y tres caracteres especiales (# _ $).
No utilice palabras reservadas de MySQL, como selección de tabla, mostrar bases de datos,
clasificación de declaraciones SQL.

  • DDL: lenguaje de definición de datos lenguaje de definición de datos

CREAR, SOLTAR, ALTERAR

  • DML: lenguaje de manipulación de datos

INSERTAR, ELIMINAR, ACTUALIZAR
desarrollo de software: CRUD

  • DQL: lenguaje de consulta de datos lenguaje de consulta de datos

SELECCIONAR

  • DCL: lenguaje de control de datos lenguaje de control de datos

CONCEDER, REVOCAR

  • TCL: Lenguaje de control de transacciones Lenguaje de control de transacciones

COMMITIR, RETROCEDER, PUNTO DE GUARDAR

#DDL: Data Defination Language 数据定义语言
CREATE,DROP,ALTER
 
#DML: Data Manipulation Language 数据操纵语言
INSERT,DELETE,UPDATE
 
#DQL:Data Query Language 数据查询语言
SELECT 
 
 
#DCL:Data Control Language 数据控制语言
GRANT,REVOKE,COMMIT,ROLLBACK
 
 
SELECT *                 #SELECT子句
FROM products             #FROM子句
WHERE price>666         #WHERE子句

6.3 Ver información de ayuda

mysql> help create
#help 后面跟上具体命令可以查看帮助
Many help items for your request exist.
To make a more specific request, please type 'help <item>',
where <item> is one of the following
topics:
   CREATE DATABASE
   CREATE EVENT
   CREATE FUNCTION
   CREATE FUNCTION UDF
   CREATE INDEX
   CREATE LOGFILE GROUP
   CREATE PROCEDURE
   CREATE SERVER
   CREATE TABLE
   CREATE TABLESPACE
   CREATE TRIGGER
   CREATE USER
   CREATE VIEW
   SHOW
   SHOW CREATE DATABASE
   SHOW CREATE EVENT
   SHOW CREATE FUNCTION
   SHOW CREATE PROCEDURE
   SHOW CREATE TABLE
   SHOW CREATE USER
   SPATIAL
   
   
 ##也可以进一步
 mysql> help create DATABASE \G

6.4 Ver conjuntos de caracteres admitidos

show charset;
#查看支持字符集
默认拉丁文字
 
utf8     | UTF-8 Unicode   
#阉割版的
 
utf8mb4  | UTF-8 Unicode 
#真实的版本
 
我们编译安装已经修改过了

6.5 Ver tabla y usar tabla

mysql> show databases;
#查看当前数据库
 
 
mysql> use mysql;
#使用 mysql表
 
 
MySQL root@localhost:school> select * form  yxp;
#查看yxp表格的

6.6 Base de datos de gestión

6.6.1 Crear base de datos

CREATE DATABASE|SCHEMA [IF NOT EXISTS] 'DB_NAME'
CHARACTER SET 'character set name'
COLLATE 'collate name';
 
#创建数据库
create database dbb1;
 
#创建的时候指定语言
create database db3 charset=utf8;
 
 
#查看创建的数据库
show create  database dbb1;
 
#加的数据位置
cd /usr/local/mysql/data/test/

Insertar descripción de la imagen aquí
Insertar descripción de la imagen aquí
Insertar descripción de la imagen aquí
Insertar descripción de la imagen aquí

6.6.2 Modificar base de datos

ALTER DATABASE DB_NAME character set utf8;

Insertar descripción de la imagen aquí

6.6.3 Eliminar base de datos

DROP DATABASE|SCHEMA [IF EXISTS] 'DB_NAME';
 
例如
drop database dbb1;

Insertar descripción de la imagen aquí

6.6.4 Ver lista de bases de datos

SHOW DATABASES;
 
例如:
show databases;

Insertar descripción de la imagen aquí

6.6.5 Verificar el estado actual del directorio

 system ls

Insertar descripción de la imagen aquí

6.6.6 Ver nombre de host

 system hostname

Insertar descripción de la imagen aquí

6.6.7 Ver información de la versión actual de la base de datos

mysql -V

Insertar descripción de la imagen aquí

7. tipo de datos

tipo de datos:

¿Cómo se ven los datos?

¿Cuánto espacio necesitan almacenar los datos?

tipo de datos

Tipos de datos integrados en el sistema

tipo de datos definido por el usuario

MySQL admite múltiples tipos de datos integrados**

tipo numérico

tipo de fecha/hora

Tipo de cadena (carácter)

Enlace de referencia del tipo de datos

https://dev.mysql.com/doc/refman/8.0/en/data-types.html

Elegir el tipo de datos correcto es fundamental para lograr un alto rendimiento. Tres principios:

1. Cuanto más pequeño suele ser mejor. Intente utilizar el tipo de datos más pequeño que pueda almacenar datos correctamente.
2. Lo simple es bueno. Las operaciones con tipos de datos simples generalmente requieren menos ciclos de CPU.
3. Intente evitar NULL y columnas que contengan NULL. MySQL es más difícil de optimizar

7.1 Tipo entero

tinyint(m) rango de 1 byte (-128~127)

smallint(m) rango de 2 bytes (-32768~32767)

mediumint(m) rango de 3 bytes (-8388608~8388607)

int(m) rango de 4 bytes (-2147483648~2147483647)

bigint(m) rango de 8 bytes (±9,22*10 elevado a 18)

Si el tipo de datos anterior se agrega con el modificador sin firmar, el valor máximo se duplicará.

Por ejemplo: el rango de valores de tinyint sin signo es (0~255)

7.2 Tipo de coma flotante (flotante y doble), valor aproximado

float(m,d) tipo de punto flotante de precisión simple con precisión de 8 bits (4 bytes) m número total, d decimales, nota: el punto decimal no ocupa el número total double(m,d) doble precisión tipo punto flotante con precisión de 16 bits (8 bytes) m número total, d decimales, nota: el punto decimal no ocupa el número total. Supongamos que un campo se define
como flotante (6, 3). Si es un número 123.45678 se inserta, la base de datos real almacena 123.457, pero el número total cuenta a cambio

Prevalecerá la situación real, es decir, 6 dígitos.

7.3, Número de puntos fijos

El valor exacto se almacena en la base de datos y se almacena como decimal.

El formato decimal(m,d) representa hasta m dígitos, incluidos d decimales, y el punto decimal no está incluido en la longitud.

Por ejemplo: DECIMAL(6,2) puede almacenar un total de 6 dígitos, los últimos 2 dígitos son decimales y el valor máximo del campo es 9999,99 (el punto decimal no está incluido en la longitud)

El parámetro m<65 es el número total, d<30 y d<m es el decimal

MySQL 5.0 y versiones posteriores empaquetan números en una cadena binaria (9 números por 4 bytes).

Por ejemplo: decimal(18,9) almacenará 9 números a ambos lados del punto decimal, usando un total de 9 bytes: entre ellos, 4 se usan para los 9 números antes del punto decimal.

Bytes, los 9 dígitos después del punto decimal usan 4 bytes y el punto decimal en sí ocupa 1 byte

Los tipos de coma flotante generalmente utilizan menos espacio que los decimales cuando almacenan el mismo rango de valores. float usa 4 bytes para almacenamiento. doble ocupado

8 bytes

Debido al espacio adicional y la sobrecarga computacional, debes intentar realizar cálculos exactos solo con decimales.

7.4, cadena (char, varchar, texto)

char(n) longitud fija, hasta 255 caracteres, nota, no bytes

varchar(n) longitud variable, hasta 65535 caracteres

longitud variable de tinytext, hasta 255 caracteres

texto de longitud variable, hasta 65535 caracteres

texto medio de longitud variable, hasta 2 elevado a 24 - 1 carácter

texto largo de longitud variable, hasta 2 elevado a 32 - 1 carácter

BINARIO (M) de longitud fija, puede almacenar binarios o caracteres, la longitud es de 0 M bytes

VARBINARY(M) longitud variable, puede almacenar binarios o caracteres, la longitud permitida es 0 M bytes

Tipos integrados: enumeración ENUM, colección SET

Comparación de char y varchar:

Supongo que te gusta

Origin blog.csdn.net/fyb012811/article/details/132949925
Recomendado
Clasificación