当前位置:首页>网站建设>正文

湛江网站建设常用到的MySQL语句(快速记忆版)

发布时间:2019-05-07 00:11:32 作者:小超越君

做网站离不开数据库,特别是mysql数据库,那么掌握必要的SQL语句是很有必要的,除了基本的数据库和数据表创建,剩下的无非就是数据库的增删改查。今天,小超越工作室分享一下经常用到的sql语句,方便大家记忆。即使你记不住,时常会忘记,只要收藏本文章,等到用时打开看一眼就瞬间唤醒你的记忆了。

首先说明一下:在标准 SQL 中,字符串使用的是单引号。如果字符串本身也包括单引号,则使用两个单引号(注意,不是双引号,字符串中的双引号不需要另外转义)

常用到的SQL语句

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
/*查询语句,查询  tablename 数据表里的id为1的column字段内容 并按照id正序输出,如果要倒序输出可以把asc换成 DESC LIMIT为取条数,从第3条(LIMIT从0开始算)开始取4条数据*/
SELECT COLUMN FROM tablename WHERE id=1 ORDER BY id ASC LIMIT 2,4;

/*插入语句,在tablename数据表中插入一行数据id为1,name为用户名称,*/
INSERT INTO tablename (id,name) VALUES (1,'用户名称');
 
/*更新语句,在tablename数据表中更新id为1的行,把coolumn字段值设置为1*/
UPDATE tablename SET coolumn=1 WHERE id=1;

/*删除语句,删除tablename数据表id等于1的行。*/
DELETE FROM tablename WHERE id=1;

/*取代语句,存在相同行则更新,否则新插入(根据主键或唯一索引判断,所以必须插入其中一个值,否则会自动插入新行)*/
REPLACE INTO t(id, update_time) VALUES(1, now());

/*
模糊查询语句,
'%a'     //以a结尾的数据
'a%'     //以a开头的数据
'%a%'    //含有a的数据
'_a_'    //三位且中间字母是a的
'_a'     //两位且结尾字母是a的
'a_'     //两位且开头字母是a的
*/

SELECT runoob_id, runoob_title, runoob_author, submission_date FROM runoob_tbl WHERE runoob_author LIKE "%COM"
/*
输出行数:COUNT()
输出某个值总和:sum()
name字段去重:distinct name

name字段去重并返回所有字段,加上group by
*/

SELECT *,COUNT(DISTINCT name)  FROM biaoming WHERE contact_time>=1554048000 AND contact_time<=1556639999 GROUP BY name

/*替换语句*/
UPDATE settime_push_list SET push_msg = REPLACE(push_msg,'要替换','替换成');

1.日期转时间戳

SELECT UNIX_TIMESTAMP('2018-12-25 12:25:00');
结果:1545711900



2.时间戳转日期:FROM_UNIXTIME(unix_timestamp) --unix_timestamp为时间戳

SELECT FROM_UNIXTIME(1545711900);
结果:2018-12-25 12:25:00



3.时间戳转日期,自定义返回日期格式:FROM_UNIXTIME(unix_timestamp,format) -- format请参考后面的截图

SELECT FROM_UNIXTIME(1545711900,'%Y-%m-%d %T');
-- 结果:2018-12-25 12:25:00

以上就是经常用到的SQL语句,一般记住这些都够用了,不过对于没有任何基础的小白,小超越工作室还是建议大家去学习更为详情的mySQL语法,记不住没关系,至少了解哪些SQL语句有什么作用,用什么样的sql语句能更好的实现想要的功能。

SELECT命令

MySQL 数据库使用SQL SELECT语句来查询数据。

SELECT语法

1
2
3
4
SELECT column_name,column_name
FROM table_name
[WHERE Clause]
[LIMIT N][ OFFSET M]

SELECT 命令解读:

查询语句中你可以使用一个或者多个表,表之间使用逗号(,)分割,并使用WHERE语句来设定查询条件。
SELECT 命令可以读取一条或者多条记录。
你可以使用星号(*)来代替其他字段,SELECT语句会返回表的所有字段数据
你可以使用 WHERE 语句来包含任何条件。
你可以使用 LIMIT 属性来设定返回的记录数。
你可以通过OFFSET指定SELECT语句开始查询的数据偏移量。默认情况下偏移量为0。

INSERT命令

MySQL 表中使用 INSERT INTO SQL语句来插入数据。

INSERT语法

1
2
3
INSERT INTO table_name ( field1, field2,...fieldN )
                       VALUES
                       ( value1, value2,...valueN );

INSERT命令解读

如果数据是字符型,必须使用单引号或者双引号,如:”value”。

WHERE子句命令

我们知道从 MySQL 表中使用 SQL SELECT 语句来读取数据。

如需有条件地从表中选取数据,可将 WHERE 子句添加到 SELECT 语句中。

WHERE语法

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

WHERE子句命令解读

查询语句中你可以使用一个或者多个表,表之间使用逗号, 分割,并使用WHERE语句来设定查询条件。
你可以在 WHERE 子句中指定任何条件。
你可以使用 AND 或者 OR 指定一个或多个条件。
WHERE 子句也可以运用于 SQL 的 DELETE 或者 UPDATE 命令。
WHERE 子句类似于程序语言中的 if 条件,根据 MySQL 表中的字段值来读取指定的数据。
以下为操作符列表,可用于 WHERE 子句中。

下表中实例假定 A 为 10, B 为 20

操作符 描述 实例
= 等号,检测两个值是否相等,如果相等返回true (A = B) 返回false。
<>, != 不等于,检测两个值是否相等,如果不相等返回true (A != B) 返回 true。
> 大于号,检测左边的值是否大于右边的值, 如果左边的值大于右边的值返回true (A > B) 返回false。
< 小于号,检测左边的值是否小于右边的值, 如果左边的值小于右边的值返回true (A < B) 返回 true。
>= 大于等于号,检测左边的值是否大于或等于右边的值, 如果左边的值大于或等于右边的值返回true (A >= B) 返回false。
<= 小于等于号,检测左边的值是否小于于或等于右边的值, 如果左边的值小于或等于右边的值返回true (A <= B) 返回 true。

如果我们想在 MySQL 数据表中读取指定的数据,WHERE 子句是非常有用的。

使用主键来作为 WHERE 子句的条件查询是非常快速的。

如果给定的条件在表中没有任何匹配的记录,那么查询不会返回任何数据。

UPDATE命令

如果我们需要修改或更新 MySQL 中的数据,我们可以使用 SQL UPDATE 命令来操作。.

UPDATE语法

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

UPDATE命令解读

你可以同时更新一个或多个字段。
你可以在 WHERE 子句中指定任何条件。
你可以在一个单独表中同时更新数据。
当你需要更新数据表中指定行的数据时 WHERE 子句是非常有用的。

DELETE命令

你可以使用 SQL 的 DELETE FROM 命令来删除 MySQL 数据表中的记录。

DELETE语法

1
DELETE FROM table_name WHERE Clause

DELETE命令解读

如果没有指定 WHERE 子句,MySQL 表中的所有记录将被删除。
你可以在 WHERE 子句中指定任何条件
您可以在单个表中一次性删除记录。
当你想删除数据表中指定的记录时 WHERE 子句是非常有用的。

LIKE 子句命令

我们知道在 MySQL 中使用 SQL SELECT 命令来读取数据, 同时我们可以在 SELECT 语句中使用 WHERE 子句来获取指定的记录。

WHERE 子句中可以使用等号 = 来设定获取数据的条件,如 “author = ‘zhe94.com'”。

但是有时候我们需要获取 author 字段含有 “com” 字符的所有记录,这时我们就需要在 WHERE 子句中使用 SQL LIKE 子句。

SQL LIKE 子句中使用百分号 %字符来表示任意字符,类似于UNIX或正则表达式中的星号 *。

如果没有使用百分号 %, LIKE 子句与等号 = 的效果是一样的。

LIKE 子句语法

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

LIKE 子句命令解读

你可以在 WHERE 子句中指定任何条件。
你可以在 WHERE 子句中使用LIKE子句。
你可以使用LIKE子句代替等号 =。
LIKE 通常与 % 一同使用,类似于一个元字符的搜索。
你可以使用 AND 或者 OR 指定一个或多个条件。
你可以在 DELETE 或 UPDATE 命令中使用 WHERE…LIKE 子句来指定条件。

replace命令

在向表中插入数据的时候,经常遇到这样的情况:1. 首先判断数据是否存在; 2. 如果不存在,则插入;3.如果存在,则更新。那么我们使用这个命令就快捷了

replace语法

MySQL replace into 有三种形式:

1
2
3
replace into tbl_name(col_name, ...) values(...)
replace into tbl_name(col_name, ...) select ...
replace into tbl_name set col_name=value, ...

前两种形式用的多些。其中 “into” 关键字可以省略,不过最好加上 “into”,这样意思更加直观。另外,对于那些没有给予值的列,MySQL 将自动为这些列赋上默认值。

replace into命令解读

replace into 跟 insert 功能类似,不同点在于:replace into 首先尝试插入数据到表中, 1. 如果发现表中已经有此行数据(根据主键或者唯一索引判断)则先删除此行数据,然后插入新的数据。 2. 否则,直接插入新数据。

要注意的是:插入数据的表必须有主键或者是唯一索引!否则的话,replace into 会直接插入数据,这将导致表中出现重复的数据。

文章内容欢迎转载,请保留本文链接:https://www.zhe94.com/539.html

专注高端湛江网站建设及湛江SEO优化服务 立即咨询