SQL:结构化查询语言,是一门编程语言,是一种管理数据的编程语言!
一 元素
数据、数据类型、变量、函数、控制流程、运算符 、注释。。。
二 注释
行注释:
方法一: #
首先表one中的内容为:
mysql> select * from one;
+--------+----------+--------------+
| one_id | one_data | public_field |
+--------+----------+--------------+
| 1 | A | 222 |
| 2 | B | 20 |
| 3 | X | 30 |
+--------+----------+--------------+
3 rows in set (0.00 sec)
mysql> select * from one where one_id = 1;
+--------+----------+--------------+
| one_id | one_data | public_field |
+--------+----------+--------------+
| 1 | A | 222 |
+--------+----------+--------------+
1 row in set (0.00 sec)
mysql> select * from one #where one_id = 1;
-> ;
+--------+----------+--------------+
| one_id | one_data | public_field |
+--------+----------+--------------+
| 1 | A | 222 |
| 2 | B | 20 |
| 3 | X | 30 |
+--------+----------+--------------+
3 rows in set (0.00 sec)
方法二:--【空格】
mysql> select * from one -- where one_id = 1;
-> ;
+--------+----------+--------------+
| one_id | one_data | public_field |
+--------+----------+--------------+
| 1 | A | 222 |
| 2 | B | 20 |
| 3 | X | 30 |
+--------+----------+--------------+
3 rows in set (0.00 sec)
块注释:
/* */
mysql> select * from one /* where id = 1;*/;
+--------+----------+--------------+
| one_id | one_data | public_field |
+--------+----------+--------------+
| 1 | A | 222 |
| 2 | B | 20 |
| 3 | X | 30 |
+--------+----------+--------------+
3 rows in set (0.00 sec)
三 结束符
分号、\G、\g
其中分号和\g是一样的;
\G会对输出结果进行优化;
mysql> select * from one \G;
*************************** 1. row ***************************
one_id: 1
one_data: A
public_field: 222
*************************** 2. row ***************************
one_id: 2
one_data: B
public_field: 20
*************************** 3. row ***************************
one_id: 3
one_data: X
public_field: 30
3 rows in set (0.00 sec)
可以使用delimiter来修改结束符;
mysql> delimiter $$
mysql> select * from one$$
+--------+----------+--------------+
| one_id | one_data | public_field |
+--------+----------+--------------+
| 1 | A | 222 |
| 2 | B | 20 |
| 3 | X | 30 |
+--------+----------+--------------+
3 rows in set (0.00 sec)
mysql> delimiter ;
四 变量
MySQL中,允许用户自己定义变量。即为用户变量(用户自定义变量)。
语法:
Set 语句可以定义并为变量赋值。
也可以使用select into 语句。为变量初始化并赋值。这样要求select语句只能返回一行,但是可以是多个字段,就意味着同时为多个变量进行赋值,变量的数量需要与查询的列数一致。
语法:
Set 语句可以定义并为变量赋值。
Set @var = value;
也可以使用select into 语句。为变量初始化并赋值。这样要求select语句只能返回一行,但是可以是多个字段,就意味着同时为多个变量进行赋值,变量的数量需要与查询的列数一致。
还可以把赋值语句看作一个表达式,通过select 执行完成。此时为了避免=被当作关系运算符看待,使用:=代替。(set语句可以使用= 和 :=)。
Select @var:=20;
Select @v1:=id, @v2=name from t1 limit 1;
select * from tbl_name where @var:=30;
自定义变量名:
为了避免select语句中
避免用户自定义的变量与系统标识符(通常是字段名),用户自定义变量在变量名前使用@作为开始符号。
@var=10;
变量被定义后,在整个会话周期都有效(登录到退出)
系统中有许多默认的变量,如: