reng99 / blogs

blogs :see_no_evil:

Home Page:https://reng99.github.io/blogs/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

MySql汇总【上】

reng99 opened this issue · comments

commented

数据库的关键字大小写无所谓,为了方便学习,这里的关键字我用大写来区分。

创建数据库

CREATE DATABASE database_name

删除数据库

DROP DATABASE database_name

选择数据库

USE database_name

创建数据表

CREATE TABLE table_name (column_name column_type)

例子:

CREATE TABLE IF NOT EXISTS demo (
	id INT UNSIGNED AUTO_INCREMENT,
    title VARCHAR(100) NOT NULL,
    PRIMARY KEY (id)
) ENGINE=innoDB DEFAULT CHARSET=utf8

删除数据表

DROP TABLE table_name

插入数据

INSERT INTO table_name (field1, field2, ...fieldN)
						VALUES
    					(value1, value2, ...value3)

例子:

INSERT INTO demo (title)
				VALUES
                ('标题')

查询数据

SELECT column_name1, column_name2
FROM table_name
[WHERE Clause]
[LIMIT N][ OFFSET M]

WHERE子句

SELECT field1, field2, ...fieldN
FROM table_name1, table_name2 ...
[WHERE condition1 [AND [OR]]] condition2 ...

UPDATE更新

UPDATE table_name SET field1=new-value1, field2=new-value2
[WHERE Clause]

DELETE语句

DELETE FROM table_name [WHERE Clause]

LIKE子句

SELECT field1, field2, ...fieldN
FROM table_name
WHERE field1 LIKE condition1 [AND [OR]] field2 = 'somevalue'

UNION

SELECT expression1, expression2, ...expression_n
FROM table_name
[WHERE condition]
UNION [ALL | DISTINCT]
SELECT expression1, expression2, ...expression_n
FROM another_table_name
[WHERE condition]

排序

SELECT field1, field, ...fieldN 
FROM
table_name1, table_name2 ...
ORDER BY field1 [ASC [DESC][默认 ASC]], [field2...][ASC [DESC][默认 ASC]]

分组

SELECT column_name, function(column_name)
FROM table_name
WHERE column_name operator value
GROUP BY column_name

连接

可以使用JOIN进行联合多表查询。

  • INNER JOIN(内连接,或等值连接):获取两个表中字段匹配关系的记录
  • LEFT JOIN(左连接):获取左表所有记录,即使右表中没有对应匹配的记录
  • RIGHT JOIN(右连接):与LEFT JOIN相反,用于获取右表所有记录,即使左表没有对应匹配的记录

NULL值处理

为了处理NULL值,MYSQL提供了三大运算符:

  • IS NULL:当列的值是NULL,此运算符返回true

  • IS NOT NULL:当列的值不为NULL,此运算符返回true

  • <=>:比较操作符(不同于 = 运算符),当比较的两个值相等或者都为NULL时返回true

正则

关键字REGEXP

事务

MYSQL事务主要用来处理操作量打,复杂度高得数据。

一般来说,事务是必须满足4个条件ACID:

  • 原子性(Atomicity)

  • 一致性(Consistency)

  • 隔离性(Isolation)

  • 持久性(Durability)

本汇总分两篇完成,下篇再见。