MySQL

数据库操作

USE

ALTER

CREATE

DROP

基础操作

CRUD

增(Create)

INSERT INTO table_name
(field_name)
VALUE
(field_value)

查(Retrieve)

SELECT field_name
FROM table_name
WHERE field_name = field_value

image-20210325184421847

改(Update)

UPDATE table. Name
SET field_name = field_value
WHERE field_name = field_value

删(Delete)

DELETE 
FROM table_name
WHERE field_name = field_value

其他关键字

取名AS

去重DISTINCT

SELECT DISTINCT field_name FROM table_name;

AND & OR

排序ORDER BY

SELECT field_name
FROM table_name
ORDER BY field_name ASC(升序)
/* ORDER BY field_name DESC(降序)

分组GROUP BY

SELECT field_name
FROM table_name
GROUP BY field_name

HAVING

在GROUP BY下面使用

WHERE不能对聚合函数操作

LIMIT

LIMIT 起始值,每页大小

JOIN

INNER JOIN 并集

LEFT JOIN 返回左表所有行

RIGHT JOIN 返回右表所有行

常用函数

ABS() 返回绝对值

CEILING() 向上取整 FLOOR() 向下取整

RAND() 返回0-1直接的随机数

CHAR_LENGTH() 返回字符串长度

REPLACE() 替换

REVERSE() 反转

INSTR() 返回子串第一次出现的索引

LOWER() UPPER() 大小写转换

CURRENT_DATE NOW() LOCALTIME() 时间

聚合函数

COUNT()

COUNT(field_name) 忽略值为NULL的行

COUNT(*) 不忽略值为NULL的行,计算行数

COUNT(1) 不忽略值为NULL的行,计算行数

SUM()

AVG()

MAX()

MIN()

索引

索引是帮助MySQL高效获取数据的数据结构。

CREATE INDEX indexName ON table_name (field_name)
ALTER table table_name ADD INDEX index_name(field_name)

索引分类

  • 主键索引(PRIMARY KEY)

    • 唯一的标识,主键不可重复,只能有一个列作为主键
  • 唯一索引(UNIQUE KEY)

    • 避免重复的列出现
  • 常规索引(KEY/INDEX)

  • 全文索引(FULLTEXT KEY)

在用来查询的字段添加索引

出现的错误

``波浪号传字段

''单引号传字符

命名规则name_name

varchar是长度可变的字符 会多出1-2位保存实际长度

char长度不可变 剩下的长度会用空格填充,用trim去除

金额类型的用decimal 对应Java的Big Decimal

Comment'注释'

雪花算法

雪花算法Java版

源自Twitter,结合时间戳,按照时间生成Id,全局唯一,自增类型,与InnoDB搭配使用(B+Tree)

posted @ 2021-03-25 20:26  Hy·  阅读(51)  评论(0)    收藏  举报