mysql
库
创建数据库
CREATE DATABASE 数据库名;
删除数据库
DROP DATABASE <database_name>; -- 直接删除数据库,不检查是否存在 DROP DATABASE [IF EXISTS] <database_name>;
选择数据库
USE database_name;
表
建表
CREATE TABLE table_name ( column1 datatype, column2 datatype, ... );
删表
DROP TABLE table_name ; -- 直接删除表,不检查是否存在 或 DROP TABLE [IF EXISTS] table_name;
查询数据
SELECT column1, column2, ... FROM table_name [WHERE condition] [ORDER BY column_name [ASC | DESC]] [LIMIT number];
-
column1
,column2
, ... 是你想要选择的列的名称,如果使用*
表示选择所有列。 -
table_name
是你要从中查询数据的表的名称。 -
WHERE condition
是一个可选的子句,用于指定过滤条件,只返回符合条件的行。 -
ORDER BY column_name [ASC | DESC]
是一个可选的子句,用于指定结果集的排序顺序,默认是升序(ASC)。 -
LIMIT number
是一个可选的子句,用于限制返回的行数。
插入数据
INSERT INTO table_name (column1, column2, column3, ...) VALUES (value1, value2, value3, ...);
-
table_name
是你要插入数据的表的名称。 -
column1
,column2
,column3
, ... 是表中的列名。 -
value1
,value2
,value3
, ... 是要插入的具体数值。
where子句
SELECT column1, column2, ... FROM table_name WHERE condition;
-
column1
,column2
, ... 是你要选择的列的名称,如果使用*
表示选择所有列。 -
table_name
是你要从中查询数据的表的名称。 -
WHERE condition
是用于指定过滤条件的子句。
更新数据
UPDATE table_name SET column1 = value1, column2 = value2, ... WHERE condition;
-
table_name
是你要更新数据的表的名称。 -
column1
,column2
, ... 是你要更新的列的名称。 -
value1
,value2
, ... 是新的值,用于替换旧的值。 -
WHERE condition
是一个可选的子句,用于指定更新的行。如果省略WHERE
子句,将更新表中的所有行。
删除数据
DELETE FROM table_name WHERE condition;
-
table_name
是你要删除数据的表的名称。 -
WHERE condition
是一个可选的子句,用于指定删除的行。如果省略WHERE
子句,将删除表中的所有行。
LIKE子句
SELECT column1, column2, ... FROM table_name WHERE column_name LIKE pattern; '%a' //以a结尾的数据 'a%' //以a开头的数据 '%a%' //含有a的数据 '_a_' //三位且中间字母是a的 '_a' //两位且结尾字母是a的 'a_' //两位且开头字母是a的
-
column1
,column2
, ... 是你要选择的列的名称,如果使用*
表示选择所有列。 -
table_name
是你要从中查询数据的表的名称。 -
column_name
是你要应用LIKE
子句的列的名称。 -
pattern
是用于匹配的模式,可以包含通配符。 -
你可以在 WHERE 子句中指定任何条件。
-
你可以在 WHERE 子句中使用LIKE子句。
-
你可以使用LIKE子句代替等号 =。
-
LIKE 通常与 % 一同使用,类似于一个元字符的搜索。
-
你可以使用 AND 或者 OR 指定一个或多个条件。
-
你可以在 DELETE 或 UPDATE 命令中使用 WHERE...LIKE 子句来指定条件
UNION操作符
SELECT column1, column2, ... FROM table1 WHERE condition1 UNION SELECT column1, column2, ... FROM table2 WHERE condition2 [ORDER BY column1, column2, ...];
-
column1
,column2
, ... 是你要选择的列的名称,如果使用*
表示选择所有列。 -
table1
,table2
, ... 是你要从中查询数据的表的名称。 -
condition1
,condition2
, ... 是每个SELECT
语句的过滤条件,是可选的。 -
ORDER BY
子句是一个可选的子句,用于指定合并后的结果集的排序顺序。
ORDER BY语句
SELECT column1, column2, ... FROM table_name ORDER BY column1 [ASC | DESC], column2 [ASC | DESC], ...;
-
column1
,column2
, ... 是你要选择的列的名称,如果使用*
表示选择所有列。 -
table_name
是你要从中查询数据的表的名称。 -
ORDER BY column1 [ASC | DESC], column2 [ASC | DESC], ...
是用于指定排序顺序的子句。ASC
表示升序(默认),DESC
表示降序。
GROUP BY分组语句
SELECT column1, aggregate_function(column2) FROM table_name WHERE condition GROUP BY column1;
-
column1
:指定分组的列。 -
aggregate_function(column2)
:对分组后的每个组执行的聚合函数。 -
table_name
:要查询的表名。 -
condition
:可选,用于筛选结果的条件。
注意:
-
GROUP BY
子句通常与聚合函数一起使用,因为分组后需要对每个组进行聚合操作。 -
SELECT
子句中的列通常要么是分组列,要么是聚合函数的参数。 -
可以使用多个列进行分组,只需在
GROUP BY
子句中用逗号分隔列名即可。
正则表达式
-
.
:匹配任意单个字符。 -
^
:匹配字符串的开始。 -
$
:匹配字符串的结束。 -
*
:匹配零个或多个前面的元素。 -
+
:匹配一个或多个前面的元素。 -
?
:匹配零个或一个前面的元素。 -
[abc]
:匹配字符集中的任意一个字符。 -
[^abc]
:匹配除了字符集中的任意一个字符以外的字符。 -
[a-z]
:匹配范围内的任意一个小写字母。 -
[0-9]
:匹配一个数字字符。 -
\w
:匹配一个字母数字字符(包括下划线)。 -
\s
:匹配一个空白字符。