Y declaración de MySQL SQL resume los tipos de datos comunes

  Recientemente sistema de cola procesar una operación de restaurante, la lógica de servicio utilizando la conexión de JDBC en un lote final MySQL Android. Cuando la instrucción SQL aquí antes de terminar en revisión para aprender mejor

tipos de datos comunes MYSQL

texto:

CHAR(*):最多255个字节的定长字符串,它的长度必须在创建时指定

VARCHAR(*):最多255个字节的可变长度字符串,它的长度必须在创建时指定

TEXT:最大长度为64K字符的变长文本

TINYTEXT:最大长度为255字符的变长文本

MEDUIMTEXT:最大长度为16K字符的变长文本

LONGTEXT:最大长度为4GB字符的变长文本

Entero (después de tener en cuenta el valor de tipo de datos seleccionado lo más pequeño posible)

tinyint:1字节。有符号值:-128127;无符号值:0255

smallint:2字节。有符号值:-3276832767;无符号值:065535

mediumint:3字节。

int4字节

bigint:8字节

Decimal (especificar la longitud y el punto decimal, es decir, ancho de la pantalla y el número de decimales):

decimal:精确存储的小数,在内部用字符串存储,适合金额等要求精确的类型。别名:NUMERIC

float:4字节,单精度。会近似存储(*),效率比decimal高。

double:8字节,双精度。会近似存储(*),效率比decimal高。

Fecha y hora:

DATE:4字节。范围:1000-01-01——9999-12-31

TIME:3字节。范围:-838:59:59——838:59:59

DATETIME:8字节。范围:1000-01-01 00:00:00——9999-12-31 23:59:59

Datos binarios grande:

TITYBLOB:最大长度为255字节

BLOB:最大长度为64KB

MEDIUMBLOB:最大长度为16MB

LONGBLOB:最大长度为4GB

sintaxis SQL

 Select * from 表  查询某张表的全部内容 

 Insert into 表(表字段)values(对应的值) 插入新数据 

Actualización Actualización de Datos

        1、更新一个列:UPDATE T_Persons Set Age=30

        2、更新多个列: UPDATE T_Persons Set Age=30,Name='tom'

        3、表达式:UPDATE T_Persons Set Age=Age+1

        4、更新一部分数据: UPDATE T_Persons Set Age=30 where Name='tom',用where语句表示只更新Name是'tom'的行,注意SQL中等于判断用单      个=,而不是==。

        5Where中还可以使用复杂的逻辑判断UPDATE T_Persons Set Age=30 where Name='tom' or Age<25or相当于Java中的||

        where (Age>20 and Age<30) or(Age=80)

        6Where中可以使用的其他逻辑运算符:orandnot、<、>、>=、<=、!=(或<>)等

Borrar datos

    删除表中全部数据:DELETE FROM T_Persons。

    Delete 也可以带 where 子句来删除一部分数据:DELETE FROM T_Persons WHERE Age > 20

    Delete 只是删除数据,表还在。(*)Drop table T_Persons

Recuperación de datos

Es obtener los datos que desea entrar en el campo de acuerdo a las condiciones en las que
la sintaxis:

    1、简单的数据检索 :SELECT * FROM T_Employees

    2、只检索需要的列 :SELECT Number FROM T_Employees 、SELECT Name,Age FROM T_Employees

    3、列别名:SELECT Number AS 编号,Name AS 姓名,Age AS Age111 FROM T_Employees  写不写AS都行

    4、计算列:SELECT Number 编号,Name 姓名,Age Age111,Age+10 十年后的年龄,1+1,now() FROM T_Employees

    5、使用where检索符合条件的数据:SELECT Name FROM T_Employees WHERE Salary<5000。故事:新员工的数据检索噩梦

    6、还可以检索不与任何表关联的数据:select 1+1;select now();

función de agregado

    1、SQL聚合函数:MAX(最大值)、MIN(最小值)、AVG (平均值)、SUM (和)、COUNT(数量)

    2、大于25岁的员工的最高工资 :SELECT MAX(Salary) FROM T_Employees WHERE Age>25 

    3、最低工资和最高工资:SELECT MIN(Salary),MAX(Salary) FROM  T_Employees

    4、大于25岁的员工人数:SELECT COUNT(*) FROM  T_Employees  WHERE Age>25 

    5、全体员工的工资总和平均工资:SELECT SUM(Salary),AVG (Salary) FROM  T_Employee

Descendente ascendente

    1ORDER BY子句位于SELECT语句的末尾,它允许指定按照一个列或者多个列进行排序,还可以指定排序方式是升序(从小到大排列,ASC)还是降序(从    大到小排列,DESC) 

    2、按照年龄升序排序所有员工信息的列表:SELECT * FROM  T_Employees ORDER BY Age ASC 

    3、按照年龄从大到小排序,如果年龄相同则按照工资从大到小排序 :SELECT * FROM  T_Employees ORDER BY Age DESC,Salary DESC

    4、RDER BY子句要放到WHERE子句之后 :SELECT * FROM T_Employees WHERE Age>23 ORDER BY Age DESC,Salary DESC 

filtración Comodín utilizando como

    1、单字符匹配的通配符为半角下划线“_”,它匹配单个出现的字符。以任意字符开头,剩余部分为“erry” :SELECT * FROM T_Employees WHERE        Name LIKE '_erry' 

    2、多字符匹配的通配符为半角百分号“%”,它匹配任意次数(零或多个)出现的任意字符。 “k%”匹配以“k”开头、任意长度的字符串。检索姓        名中包含字母“n”的员工信息 :SELECT * FROM T_Employees WHERE Name LIKE '%n%' 

    3Like性能较差,很容易造成全表扫描,谨慎使用。后面会讲数据库优化(索引等),项目中做搜索用全文检索。

base de datos de manejo Null

    数据库中,一个列如果没有指定值,那么值就位null 表示"不知道",而不是没有

    SQL中使用is nullis not null来进行空值判断: 

    select * fromwhere Name is null     为空

    select * fromwhere Name is not null 不为空

devolver conjuntos de resultados límite

    1、LIMIT关键字用来限制返回的结果集, LIMIT放在SELECT语句的最后位置,语法为“LIMIT  首行行号,要返回的结果集的最大数目” 。比如下面      
    SQL语句将返回Name不为空的、按照工资降序排列的从第二行开始(行号从0开始)的最多五条记录:

    SELECT * FROM T_Employees
    where Name is not null 
    ORDER BY Salary DESC  
    LIMIT 2,5 

    2、limit一定要放到所有的语句的最后

grupo por las consultas de agrupación

    1、数据分组用来将数据分为多个逻辑组,从而可以对每个组进行聚合运算。SQL语句中使用GROUP BY子句进行分组,使用方式为“GROUP BY  分组字        段”。分组语句一般和聚合函数一起使用,GROUP BY子句负责将数据分成逻辑组,而聚合函数则对每一个组进行统计计算。AVG Min MAX

izquierda unirse investigación conjunta

     /*查询每张订单的订单号、价格、对应的客户姓名以及客户年龄*/
    select o.Id 订单号,o.Price 价格,c.Name 姓名, c.Age 年龄
    from T_Orders o
    left join T_Customers c
    on o.CustomerId=c.Id
    /*添加where语句(显示价格>=150元的订单)*/
    where Price>=150

restricción de clave externa

  clave externa (FK) se utiliza entre dos tablas de datos para establecer y combinaciones o columnas de un enlace de refuerzo, los datos de control se pueden almacenar en la tabla de clave externa. referencias de clave externa, cuando una tabla que contiene la columna de clave principal es una o más tablas referenciadas por una o más columnas, en el medio de la creación de la tabla dos enlaces. La columna de clave externa se convierte en la segunda tabla

1、如果删除/更新T_Customers一行记录,那么就可能会导致T_Orders中存在CustomerId为非法值的数据,使得程序逻辑错误。一般不会更新主键Id的值,所以谈外键约束的时候只谈“删除T_Customers时”。

2、外键约束:当删除T_Customers中一条数据的时候,如何处理T_Orders等存在指向T_Customers外键的行。外键约束建立在外键字段***Id的表上(t_orders)。

3、建外键约束的方法:新建或者修改表的时候“外键”→“添加外键”。名:自动命名即可;栏位名:CustomerId;参考表:t_customers;外栏位名:Id;删除时、更新时:一般默认RESTRICT(CASCADE:删除T_Customers一行时把它的订单也删除了;SET NULL:删除T_Customers一行时把它的订单CustomerId设置为NULLNO ACTION/RESTRICT:拒绝删除)。

4、有的公司不习惯建外键,而是通过程序进行数据合法性控制,对于初学者先不建议这样,都把外键加上。
Publicado 26 artículos originales · ganado elogios 19 · Vistas a 40000 +

Supongo que te gusta

Origin blog.csdn.net/a23006239/article/details/79574611
Recomendado
Clasificación