mysql基本语句操作(二)

1.union操作符

MySQL UNION 操作符用于连接两个以上的 SELECT 语句的结果组合到一个结果集合中。多个 SELECT 语句会删除重复的数据。

SELECT expression1, expression2, ... expression_n
FROM tables
[WHERE conditions]
UNION [ALL | DISTINCT]
SELECT expression1, expression2, ... expression_n
FROM tables
[WHERE conditions];

2.group by

GROUP BY 语句根据一个或多个列对结果集进行分组。

在分组的列上我们可以使用 COUNT, SUM, AVG,等函数。

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

3.连接

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

4.null值

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

5.索引

索引也是一张表,该表保存了主键与索引字段,并指向实体表的记录。

创建索引:

CREATE INDEX indexName ON mytable(username(length)); 

添加索引:

ALTER table tableName ADD INDEX indexName(columnName)

删除索引:

DROP INDEX [indexName] ON mytable; 

6.存储过程

关键语法:

1.DELIMITER // 声明语句结束符,用于区分; 

 因为MySQL默认以”;”为分隔 符,如果我们没有声明分割符,那么编译器会把存储过程当成SQL语句进行处理,则存储过程的编译过程会报错CEATE 

2.PROCEDURE demo_in_parameter(IN p_in int) 声明存储过程 

3.BEGIN …. END 存储过程开始和结束符号 
4.SET @p_in=1 变量赋值 

5.DECLARE l_int int unsigned default 4000000; 变量定义

IN 输入参数:表示该参数的值必须在调用存储过程时指定,在存储过程中修改该参数的值不能被返回,为默认值 

mysql > DELIMITER //  
  mysql > CREATE PROCEDURE demo_in_parameter(IN p_in int)  
       -> BEGIN   
       -> SELECT p_in;   
       -> SET p_in=2;   
       -> SELECT p_in;   
      -> END;   
      -> //  
 mysql > DELIMITER ; 


1.  mysql > SET @p_in=1;  
2.  mysql > CALL demo_in_parameter(@p_in);  
3.  +------+  
4.  | p_in |  
5.  +------+  
6.  |   1  |   
7.  +------+  
8.   
9.  +------+  
10.| p_in |  
11.+------+  
12.|   2  |   
13.+------+  
14. 
15.mysql> SELECT @p_in;  
16.+-------+  
17.| @p_in |  
18.+-------+  
19.|  1    |  
20.+-------+  

OUT 输出参数:该值可在存储过程内部被改变,并可返回 

1.  mysql > DELIMITER //  
2.  mysql > CREATE PROCEDURE demo_out_parameter(OUT p_out int)  
3.       -> BEGIN 
4.       -> SELECT p_out;  
5.       -> SET p_out=2;  
6.       -> SELECT p_out;  
7.       -> END;  
8.       -> //  
9.  mysql > DELIMITER ; 
1.  mysql > SET @p_out=1;  
2.  mysql > CALL sp_demo_out_parameter(@p_out);  
3.  +-------+  
4.  | p_out |   
5.  +-------+  
6.  | NULL  |   
7.  +-------+  
8.   
9.  +-------+  
10.| p_out |  
11.+-------+  
12.|   2   |   
13.+-------+  
14. 
15.mysql> SELECT @p_out;  
16.+-------+  
17.| p_out |  
18.+-------+  
19.|   2   |  
20.+-------+ 
NOUT 输入输出参数:调用时指定,并且可被改变和返回

猜你喜欢

转载自blog.csdn.net/hewenjing8168/article/details/80371716