[] Tipos de datos de base de datos de MySQL

Tipos de datos

1. Entero

Aquí Insertar imagen Descripción

  • Sin signo de un cierto número de no negativo
create table t3(
   age tinyint unsigned
);
  • Mostrar anchura (ZEROFILL)
    ancho de la pantalla integral, cuando se llena con suficientes dígitos 0
create table t4(
   id int(10) zerofill primary key auto_increment,
   name char(32)
);
insert into t4 values(12345, '5个');
insert into t4 values(1234567890, '10个');
insert into t4 values(123456789012, '12个');
select * from t4;

2. flotador

Aquí Insertar imagen Descripción

Bits punto fijo mucho más tiempo uso:
un flotador (M, D)
doble (M, D)
decimal (M, D)
M es el número de longitud de soporte, D es el número de dígitos después del punto decimal

create table t5 (
   a float(10, 2),
   b double(10, 2),
   c decimal(10, 2)
);

3. tipo de cadena

Aquí Insertar imagen Descripción
La diferencia entre los tipos CHAR y VARCHAR

Aquí Insertar imagen Descripción

Piense:
cuerdas, por lo que puede especificar el tamaño del flotador libremente, es el momento de operar que el dedo informal habitual
dado un puede?
R: No, el tipo de datos no es el, más grande mejor tipo de datos dará lugar a un espacio hinchada, almacenamiento está
ocupado por grandes, la recuperación de datos será lenta

4. Enumeración (ENUM)

Cuando un tipo seleccionado a partir de una pluralidad de tipos de datos utilizados
en el momento de botón de radio front-end, tipo enumerado puede funcionar
enumerado ventajas de tipo: 1. Valor de límite opcional
2. ahorro de espacio
3. Alta eficacia de funcionamiento

create table t6(
   name varchar(32),
   sex enum('男','女','保密') default '保密'
);
-- 枚举类型的计数默认从1开始
insert into t6 set name='王宝强',sex=1;

La colección (set)

SET puede tener un máximo de 64 miembros diferentes. Al igual que en la casilla de verificación, se puede elegir el número de cuántos.

create table t7 (
   name varchar(32),
   hobby set('吃','睡','玩','喝','抽')
);
insert into t7 values('张三','睡,抽,玩,吃,喝');
insert into t7 values('李四','睡,抽');
  • ¿Por qué no usar el tipo de conjunto?
    En el desarrollo web moderno, el valor de varios miles de carpa con índice de valor almacenado con no más vacía
  • ¿Cómo resolver los problemas de esa caja?
    El valor de la casilla de verificación de forma individual diseñado para una mesa

6. Tipo Tiempo

Aquí Insertar imagen Descripción

  1. fecha y hora
create table datetime_test (
   create_at datetime
);
insert into datetime_test values('2019-4-2 16:54:00');
insert into datetime_test values('2019/4/2 16:54:00');
insert into datetime_test values(now());
-- 年份最大支持4个长度
insert into datetime_test values('10000/4/2 16:54:00');  --
错误
insert into datetime_test values('9999/4/2 16:54:00');

2.Time

create table time_test (
   create_at time
);
insert into time_test values('12:12:12');
insert into time_test values('100:12:12');
insert into time_test values('-100:12:12');
insert into time_test values('10 10:12:12');
-- 时间的范围是: [-838:59:59 - 838:59:59]
insert into time_test values('839:12:12'); -- 错误的

3.timestamp tipo timestamp

Marca de tiempo en el área de visualización y de fecha y hora tipo es el mismo, no es lo mismo en la memoria
intervalo de 10/01/1970: 19/01/2038 11:14:07 a 0: 0
indica 4 bytes sello de tiempo usando
el valor almacenamiento de tamaño para la longitud de bits: 2 * (4 * 8-1)

create table timestamp_test (
   create_time timestamp
);
insert into timestamp_test values(now());
insert into timestamp_test values('2038-1-19 11:14:07');  -
- 时间戳最大值
insert into timestamp_test values('2038-1-19 11:14:08');  -
- 错误

4 años

create table `year`(
   create_at year
);
-- 从1900年开始 - 1900+255
insert into `year` values(now());
insert into `year` values('2155'); -- 年份最大值
insert into `year` values('2156'); -- 错误

7. booleana

create table `bool`(
   cond boolean
);
insert into `bool` set cond=True;    -- 成功
insert into `bool` set cond=False;   -- 成功
insert into `bool` set cond=1;       -- 成功
insert into `bool` set cond=10;      -- 成功
insert into `bool` set cond=-1;      -- 成功
insert into `bool` set cond=0;       -- 成功
insert into `bool` set cond=0.1;     -- 成功
insert into `bool` set cond='True';  -- 失败

8. Las propiedades de la columna

Si el valor insertado puede estar vacía

  • null: está vacío, el defecto no es escribir
  • no nulo: no está vacío, si está insertada, campo de contacto es nulo, el error
create table null_test (
   id int primary key auto_increment,
   username varchar(32) not null,
   pwd varchar(16) null
);
insert into null_test values(null,null,null);
  • defecto
create table default_test (
   id int primary key auto_increment,
   username varchar(32) default 'admin' not null,
   pwd varchar(16) default 123456
);
insert into default_test (username) values ('admin');
  • auto_increment
    columna crecimiento automático
    por defecto a partir de una
    normalmente se usa con la clave primaria
create table auto_inc (
   id int primary key auto_increment,
   name varchar(32)
);
insert into auto_inc (name) values ('aaa'), ('bbb'),
('ccc');
select * from auto_inc;
/* 输出:
+----+------+
| id | name |
+----+------+
| 1 | aaa |
| 2 | bbb |
| 3 | ccc |
+----+------+
*/
  • clave principal
    clave principal identifica de forma exclusiva generales
    características: no puede estar vacío, no se puede repetir, una mesa que puede tener sólo una clave primaria
-- 这里只有一个主键,这种主键叫做联合主键, 在项目中使用较少
create table double_pri_test (
   id int,
   sid int,
   primary key(id,sid)
);
insert into double_pri_test values (1, 1);
insert into double_pri_test values (1, 2);  -- 成功
insert into double_pri_test values (2, 1);  -- 成功
insert into double_pri_test values (1, 1);  -- 失败
  • única
    clave única, para asegurar que cada columna de datos que no se repita el
    buzón no se puede repetir, el número de teléfono no se puede repetir
create table test_uniq (
   id int auto_increment primary key,
   mobile char(11) unique
);
insert into test_uniq set mobile=13999999999;
  • comentar
    las descripciones de campo: el desarrollador para ver, para una descripción general de los campos respectivos
create table test_cmt (
   ctime datetime comment '这个字段代表创建日期'
);

9. comentarios de SQL

los comentarios de una sola línea: - Hola
comentario de varias líneas: / * * Barabara /
MySQL únicos comentarios de una sola línea: ja ja ja ja #

Publicados 116 artículos originales · ganado elogios 10 · vistas 1358

Supongo que te gusta

Origin blog.csdn.net/weixin_44727383/article/details/104979186
Recomendado
Clasificación