restricciones de integridad de tipo de datos mysql 054

restricciones de integridad de tipo de datos mysql 054

Crear usuarios y autorizar permisos de usuario:

# 1. Crear usuario: 
# Especificar el usuario fgf con ip 192.168.15.109 para iniciar sesión
 crear usuario ' fgf ' @ ' 192.168.15.109 ' identificado por ' 12 ' # Especificar el usuario
 fgf con 
ip 192.168.15.1 para iniciar sesión crear usuario ' fgf ' @ ' 192.168.15.% ' identificado por ' 123 ' ; 
# Especificar cualquier ip fgf inicio de sesión de usuario crear usuario ' fgf ' @      
  ' % ' identificado por  ' 123 ' , 
n º 2 .
 Eliminar usuario eliminar  usuario  ' nombre de usuario ' @ ' dirección IP ' , 
n 
º 3 . _ _ _ _ _ _ _ _ _ _ ; 
# 4 .
Modificar contraseña establecer contraseña para ' nombre de usuario ' @ ' dirección IP    ' = contraseña ( ' nueva contraseña ' ); 

administración de autorizaciones del usuario actual 
Ver permisos 
mostrar concesiones para  ' nombre de usuario ' @ ' dirección IP ' 
# Autorizar a los usuarios de fgf solo para consultar, insertar y actualizar archivos db1.t1 
otorgar  seleccionar , insertar , actualizar  en db1 a  ' fgf ' @ ' % ' ; 
# Indica todos los privilegios, excepto el comando grant , que solo está disponible para root, los usuarios de fgf tienen permisos de operación arbitrarios en archivos t1 bajo db1;
 otorgar  todos  los privilegios  en db1 .t1 a  ' mjj' @ ' % ' ; 
los 
usuarios de #fgf realizan cualquier operación 
en los archivos de la base de datos db1 otorgan  todos los privilegios en db1 . * a ' fgf ' @ ' % ' ;    
    

copiar tabla

# Copie la estructura de la tabla y copie los registros,
 cree  la tabla t2 seleccione  *  de db1.t1 

# Solo copie la estructura de la tabla, no copie los registros 
cree  la tabla t2 seleccione  *  de db1.t1 donde  1 > 3 ,
 cree  la tabla t2 como db1.t1;

Tipo de datos : el entero está firmado de forma predeterminada 

  Tipo de datos sin firmar (sin firmar) y zerofill firmado con 0

  El papel de las restricciones: para garantizar la integridad y consistencia de los datos

    tinyint[-128~127] se pueden obtener pequeños enteros en ambos lados

    int entero

    bigint entero extremadamente grande

# Agregado sin firmar significa comenzar desde 0 y ya no comenzar desde números negativos
 crear  la tabla t1 (id int ( 4 ) sin firmar, nombre char ( 20 ));

punto flotante 

  La precisión simple flotante se vuelve cada vez menos precisa a medida que aumenta el número de lugares decimales.

    float[(M,D)] [SIN FIRMAR] [ZEROFILL]

    Explicación de parámetros: número de punto flotante de precisión simple (valor decimal no exacto), M es la longitud completa, D es el número después del punto decimal, el valor máximo de M es 255 y el valor máximo de D es 30

  La doble precisión doble será cada vez más inexacta a medida que aumente el número de decimales, pero es más precisa que la coma flotante

    DOUBLE[(M,D)] [UNSIGNED] [ZEROFILL] Las letras tienen el mismo significado que float.

  decimal decimal exacto

    decimal[(m[,d])] [sin signo] [relleno cero]

      #Explicación del parámetro: valor decimal preciso, M es el número total de partes enteras (los signos negativos no se cuentan), D es el número después del punto decimal. El valor máximo de M es 65 y el valor máximo de D es 30.

        #Precisión:  **** La precisión siempre es precisa a medida que aumenta el número de decimales ****

             Este tipo es necesario para cálculos numéricos exactos

             La razón por la que ecaimal puede almacenar valores precisos es que se almacena internamente como cadenas.

Tipo de fecha: FECHA HORA DATETIME TIMESTAMP AÑO

    La función es almacenar el tiempo de registro del usuario, el tiempo de liberación del artículo, el tiempo de entrada del empleado, el tiempo de nacimiento, el tiempo de vencimiento, etc.

    AÑO Año (1901~2155)

    FECHA 

    TIEMPO horas minutos segundos 

    now() La función de contenido que viene con el lenguaje sql: Obtener la hora del evento actual (según el tipo de datos)

    crear tabla t10 (nacido_año año, intClass fecha y hora);

tipo de caracter 

    char longitud fija, simple y grosero, pérdida de espacio pero velocidad de acceso rápida 

    La longitud variable de Varchar ahorra espacio con precisión pero la velocidad de acceso es lenta

length(): Ver el número de bytes 
char_length(): Ver el número de caracteres

  Enumeraciones y colecciones

 crear  tabla consumidor ( 
     id int , 
     nombre varchar ( 50 ), 
     enumeración de sexo ( ' masculino ' , ' femenino ' , ' otro ' ) predeterminado  ' masculino ' ,
      enumeración de nivel ( ' vip1 ' , ' vip2 ' , ' vip3 ' , ' vip4 ' ),#En el rango especificado, elija más de un conjunto 
     favorito ( 'reproducir ' , ' música ' , ' leer ' , ' estudiar ' ) # Dentro del rango especificado, selecciones múltiples 
    );

    Nota: utilice tinyint(1) en sql para representar el tipo booleano

Restricciones de integridad

  no nulo y predeterminado

    Si establece no nulo solo, no puede insertar un valor nulo

    Si no se establece nulo y se especifica el valor predeterminado, se puede insertar un valor nulo y se ejecutará el valor predeterminado

  llave unica

    Fila única única

crear  tabla t4 ( 
    id int  no  nulo , 
    nombre char ( 20 ) único 
); 

crear  tabla t4 ( 
    id int  no  nulo , 
    nombre char ( 20 ),
     único (nombre) 
); 
insertar  en valores t4(id,name) ( 1 , ' alex ' );
insertar  en valores t4(id,name) ( 1 , 'wusir ' );

    Única de varias columnas Siempre que una columna sea la misma, no se puede insertar (similar a y)

crear  tabla t5 ( 
    id int , 
    nombre char ( 20 ),
     único (id),
     único (nombre) 
);

    unión única no se puede insertar cuando todos son iguales (similares a o)

crear  tabla t6 ( 
    id int , 
    nombre char ( 20 ),
     único (id, nombre) 
);

    Escenario de aplicación Sistema de selección de cursos Un estudiante puede elegir varios cursos Un curso puede ser elegido por varios estudiantes

Clave primaria

  Reacción química: no nula + única   

  Una clave principal de una sola columna no puede estar vacía y es única

# índice de clave principal  (para una gran cantidad de datos) la velocidad de consulta es más rápida
 crear tabla t7 ( 
    id int clave principal , 
    nombre varchar ( 10 ) único 
); crear tabla t8 ( 
    id int no nulo único , 
    nombre varchar ( 10 ) único 
) ;   

    

  clave primaria combinada  

crear  tabla t9 (     
    id int ,     
    nombre varchar ( 10 ),
     clave principal  (id, nombre) 
);

restricción de incremento automático: el campo restringido es un campo restringido de incremento automático que debe estar restringido por clave al mismo tiempo

crear  tabla estudiante ( 
    id int  clave principal  auto_incremento, 
    nombre varchar ( 20 ) no nulo , 
    sex enum ( ' masculino ' , ' femenino ' ) predeterminado ' masculino ' , 
    ip varchar ( 20 ) único 
); inserte en los valores del estudiante (nombre, sexo, ip)  
( ' alex ' , ' femenino '  

 , ' 127.0.0.5 ' ), 
( ' wusir ' , ' masculino ' , ' 173.45.32.1 ' );

  Borre la tabla para distinguir la diferencia entre eliminar y truncar:

    eliminar de t1: si hay información de identificación de incremento automático, los datos aún comienzan con el último antes de la eliminación

    tabla truncada t1: es adecuada para eliminar una gran cantidad de datos, y la velocidad de eliminación es más rápida que la anterior, y comienza directamente desde cero.

clave externa

  La clave foránea es asociar dos tablas. 

# Crea la tabla principal
 create  table dep( 
    # El id de la tabla principal está configurado para aumentar automáticamente 
    el id int  clave primaria  auto_increment, 
    # Establece el nombre del departamento como un 
    nombre único de una sola columna char ( 10 ) único , 
    # La descripción del departamento no puede estar vacía 
    dep_desc varchar ( 50 ) no nulo 
); 
# crear tabla esclava crear tabla emp( 
    eid int clave principal auto_incremento, 
    nombre char ( 10 ) no nulo , 
    edad 

    int  not  null , 
    dep_id int ,
     restricción fk_dep clave foránea  (dep_id) referencias dep(id)
     on delete cascade on update cascade , 
); crear tabla emp( 
    eid int clave principal auto_incremento, 
    nombre char ( 10 ) no nulo , 
    edad int no nulo , 
    dep_id int ,
      
      



      la restricción fk_dep clave externa  (dep_id) hace referencia a dep (id) 
     al eliminar la cascada al actualizar la cascada , 
); insertar en los valores dep (nombre, dep_desc) 
    ( ' junta directiva ' , ' departamento de la empresa de gestión ' ), 
    ( ' relaciones públicas ' , ' Departamento de Gestión de Relaciones Públicas ' ), 
    ( ' Departamento de TI ' , ' Departamento de Gestión de TI ' ), 
    ( ' Departamento de Finanzas '   
      

 , ' Departamento de gestión financiera ' ); 
    
insertar  en emp(nombre,edad,dep_id) valores 
    ( ' alex ' , 18 , 1 ), 
    ( ' wusir ' , 30 , 2 ), 
    ( ' Jefe Wu ' , 20 , 3 ), 
    ( ' Jefe Ma ' , 18 , 4 ), 
    ( ' Jefe Qiu ' , 20 , 2 ),
    ( ' Diosa ' , 16 , 3 );

 

posted @ 2018-11-22 00:47 No eres tan importante como crees Leer ( ... ) Comentar ( ... ) Editar Favoritos

Supongo que te gusta

Origin blog.csdn.net/bruce_van/article/details/89443043
Recomendado
Clasificación