SQL基础

SQL基础

前言

现在拿名为SQLLearn数据库,其中有一个表Websites举例

+--------------------+
| Tables_in_SQLLearn |
+--------------------+
| Websites           |
+--------------------+

SELECT

这是用于获取数的语句

SELECT column1, column2,.... From table_name;
SELECT * FROM table_name;

实操,获取整个表的数据:

SELECT * FROM Websites;

结果

mysql> SELECT * FROM  Websites;
+--------+---------------+-------+
| name   | url           | other |
+--------+---------------+-------+
| 百度   | www.baidu.com | 无    |
| 百度   | www.baidu.com | 无    |
| 知乎   | www.zhihu.com | None  |
+--------+---------------+-------+
3 rows in set (0.00 sec)

SELECT DISTINCT

在表中,一个列可能会包含多个重复值,有时您也许希望仅仅列出不同(distinct)的值。

DISTINCT 关键词用于返回唯一不同的值。

SELECT DISTINCT column1, column2, ... FROM table_name;

实操

SELECT DISTINCT other FROM Websites;
mysql> SELECT DISTINCT other FROM Websites;
+-------+
| other |
+-------+
| 无    |
| None  |
+-------+
2 rows in set (0.06 sec)

WHERE

WHERE 语句用于提取那些满足指定条件的记录

语法如下

SELECT column1, column2, ...FROM table_name WHERE condition;

参数说明:

  • column1, column2, ... :要选择的字段名称,可以为多个字段。如果不指定字段名称,则会选择所有字段。
  • table_name:要查询的表名称。
  • condition:提取条件

实操

SELECT * FROM Websites WHERE name="知乎";
mysql> SELECT * FROM Websites WHERE name="知乎";
+--------+---------------+-------+
| name   | url           | other |
+--------+---------------+-------+
| 知乎   | www.zhihu.com | None  |
+--------+---------------+-------+
1 row in set (0.00 sec)

WHERE语句中的运算符

运算符 描述
= 等于
<> 不等于。注释:在 SQL 的一些版本中,该操作符可被写成 !=
> 大于
< 小于
>= 大于等于
<= 小于等于
BETWEEN 在某个范围内
LIKE 搜索某种模式
IN 指定针对某个列的多个可能值

AND & OR 运算符

SQL AND & OR 运算符

如果第一个条件和第二个条件都成立,则 AND 运算符显示一条记录。

如果第一个条件和第二个条件中只要有一个成立,则 OR 运算符显示一条记录。

演示:

SELECT * FROM Websites WHERE name="知乎" OR name="百度";
mysql> SELECT * FROM Websites WHERE name="知乎" OR name="百度";
+--------+---------------+-------+
| name   | url           | other |
+--------+---------------+-------+
| 百度   | www.baidu.com | 无    |
| 百度   | www.baidu.com | 无    |
| 知乎   | www.zhihu.com | None  |
+--------+---------------+-------+
3 rows in set (0.00 sec)

ORDER BY 关键字

ORDER BY 关键字用于对结果集按照一个列或者多个列进行排序。

ORDER BY 关键字默认按照升序对记录进行排序。如果需要按照降序对记录进行排序,您可以使用 DESC 关键字。

SELECT column1, column2, ...
FROM table_name
ORDER BY column1, column2, ... ASC|DESC;
  • column1, column2, ...:要排序的字段名称,可以为多个字段。
  • ASC:表示按升序排序。
  • DESC:表示按降序排序。

INSER INTO语句

SQL INSERT INTO 语句

INSERT INTO 语句用于向表中插入新记录。

SQL INSERT INTO 语法

INSERT INTO 语句可以有两种编写形式。

第一种形式无需指定要插入数据的列名,只需提供被插入的值即可:

INSERT INTO table_name
VALUES (value1,value2,value3,...);

第二种形式需要指定列名及被插入的值:

INSERT INTO table_name (column1,column2,column3,...)
VALUES (value1,value2,value3,...);
  • table_name:需要插入新记录的表名。
  • column1, column2, ...:需要插入的字段名。
  • value1, value2, ...:需要插入的字段值。

实操:

INSERT INTO Websites (name,url,other) VALUES ("B站","www.zhihu.com","99");
INSERT INTO Websites (name,url,other) VALUES ("MKGamer","mkgamer.top","99999");
INSERT INTO Websites (name,url,other) VALUES ("必应","www.bing.com","559");
INSERT INTO Websites (name,url,other) VALUES ("Github","www.Github.com","988");
mysql> INSERT INTO Websites (name,url,other) VALUES ("B站","www.zhihu.com","99");
Query OK, 1 row affected (0.01 sec)

mysql> INSERT INTO Websites (name,url,other) VALUES ("MKGamer","mkgamer.top","99999");
Query OK, 1 row affected (0.01 sec)

mysql> INSERT INTO Websites (name,url,other) VALUES ("必应","www.bing.com","559");
Query OK, 1 row affected (0.00 sec)

mysql> INSERT INTO Websites (name,url,other) VALUES ("Github","www.Github.com","988");
Query OK, 1 row affected (0.01 sec)

mysql> SELECT * FROM Websites;
+---------+----------------+-------+
| name    | url            | other |
+---------+----------------+-------+
| 百度    | www.baidu.com  | 无    |
| 百度    | www.baidu.com  | 无    |
| 知乎    | www.zhihu.com  | None  |
| B站     | www.zhihu.com  | 99    |
| MKGamer | mkgamer.top    | 99999 |
| 必应    | www.bing.com   | 559   |
| Github  | www.Github.com | 988   |
+---------+----------------+-------+
7 rows in set (0.00 sec)

UPDATE 语句

UPDATE 语句用于更新表中已存在的记录。

SQL UPDATE 语法

UPDATE table_name
SET column1 = value1, column2 = value2, ...
WHERE condition;

参数说明:

  • table_name:要修改的表名称。
  • column1, column2, ...:要修改的字段名称,可以为多个字段。
  • value1, value2, ...:要修改的值,可以为多个值。
  • condition:修改条件,用于指定哪些数据要修改。
请注意 SQL UPDATE 语句中的 WHERE 子句!
WHERE 子句规定哪条记录或者哪些记录需要更新。如果您省略了 WHERE 子句,所有的记录都将被更新!

演示:

UPDATE Websites SET name="BingAI",url="chat.bing.com" WHERE name="必应";
mysql> UPDATE Websites SET name="BingAI",url="chat.bing.com" WHERE name="必应";
Query OK, 1 row affected (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 0

mysql> SELECT * FROM Websites;
+---------+----------------+-------+
| name    | url            | other |
+---------+----------------+-------+
| 百度    | www.baidu.com  | 无    |
| 百度    | www.baidu.com  | 无    |
| 知乎    | www.zhihu.com  | None  |
| B站     | www.zhihu.com  | 99    |
| MKGamer | mkgamer.top    | 99999 |
| BingAI  | chat.bing.com  | 559   |
| Github  | www.Github.com | 988   |
+---------+----------------+-------+
7 rows in set (0.00 sec)

DELETE语句

DELETE 语句用于删除表中的记录。

DELETE 语法

DELETE FROM table_name
WHERE condition;

参数说明:

  • table_name:要删除的表名称。
  • condition:删除条件,用于指定哪些数据要删除。
请注意 SQL DELETE 语句中的 WHERE 子句!
WHERE 子句规定哪条记录或者哪些记录需要删除。如果您省略了 WHERE 子句,所有的记录都将被删除!

演示:

DELETE FROM Websites WHERE name="百度";
mysql> DELETE FROM Websites WHERE name="百度";
Query OK, 2 rows affected (0.00 sec)

mysql> SELECT * FROM Websites;
+---------+----------------+-------+
| name    | url            | other |
+---------+----------------+-------+
| 知乎    | www.zhihu.com  | None  |
| B站     | www.zhihu.com  | 99    |
| MKGamer | mkgamer.top    | 99999 |
| BingAI  | chat.bing.com  | 559   |
| Github  | www.Github.com | 988   |
+---------+----------------+-------+
5 rows in set (0.00 sec)
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇