函数是Cancat(),用来拼接两列,其他的很多DBMS使用+或者||进行拼接,eg:SELECT Cancat(stu_id, ' ( ', math, ')') FROM student
ORDER BY math;
RTrim() 函数去掉值右边所有的空格,LTrim() 去掉左边所有的空格, Trim() 同时裁剪左端和右端。
可以使用AS 给前面的语句一个列名,SELECT Cancat(stu_id, ' ( ', math, ')') AS stu_title
FROM student
ORDER BY math;
2.可以这样使用SELECT 3*2;,返回6;SELECT Trim('abc');,返回abc; SELECT Now();,返回当前的日期和时间;
3.CREATE VIEW viewname,创建视图的方法,DROP VIEW viewname,移除视图。视图和表作用一样,也可以使用SELECT语句。一般来说,视图可以更新(INSERT、UPDATE、DELETE),更新视图会更新底层的表。并不是所有的视图都可以更新,如果mariadb不能正确查出底层需要更新的数据,就不能更新视图,有如下情况不能更新视图
分组(使用GROUP BY 和HAVING)
连接
子查询
联合
聚合函数(Min()、Count()、Sum())
DISTINCT
导出列
4.执行存储过程 CALL productpricing(@pricelow,
@pricehigh,
@priceaverage);
创建存储过程 CREATE PROCEDURE productpricing()
BEGIN
SELECT Avg(prod_price) AS priceaverage
FROM products;
END;
如果存储过程包含参数,这些参数就需要在左括号和右括号之间列出来。
如果mysql CLI不支持“;”可以使用除了”\“ 的所有字符作为命令分隔符,如;
DELIMITER //
CREATE PROCEDURE productpricing()
BEGIN
SELECT Avg(prod_price) AS priceaverage
FROM products;
END //
DELIMITER;
DELIMITER // 告诉命令行程序使用“//” 作为新的分隔符结束语句,并且你会注意到END关闭存储过程时,使用“END //” 代替原本的“END;” 这样存储过程的”;“ 依旧是完好的,能够正确传递给数据库引擎,然后,回到它们最初的状态,使用 ”DELIMITER;“ 语句关闭。
使用这个存储过程 CALL productpricing( );
删除存储过程 DROP PROCEDURE productpricing;
使用参数的存储过程第一步:
CREATE PROCEDURE productpricing(
OUT p1 DECIMAL(8,2);
OUT p2 DECEMAL(8,2);
OUT p3 DECEMAL(8,2);
)
BEGIN
SELECT Min(prod_price)
INTO p1
FROM products;
SELECT Max(prod_price)
INTO p2
FROM products;
SELECT Avg(prod_price)
INTO p3
FROM products;
END;
INTO ,将值存储到恰当的变量中。OUT 指定参数返回给调用者,IN 传递到存储过程中。
第二步:为了调用这个更新过的存储过程,需要指定3个变量名,如下:
CALL productpricing(@pricelow
@pricehigh
@priceaverage);
所有的mariadb变量名必须以”@“开始。
第三步:获取三个值
SELECT @pricelow , @pricehigh, @priceaverage;
同时使用IN和OUT,第一步:
CREATE PROCEDURE odertotal(
IN onumber INT,
OUT ototal DECIMAL(8,2)
)
BEGIN
SELECT Sum(item_price * quantity)
FROM oderitems
WHERE oder_num = onumber
INTO ototal;
END;
第二步:给这个存储过程传递参数:
CALL odertotal(20005,@total) ;
第三步:调用存储过程:
SELECT @total;
5.创建并设置远程访问用户权限,
GRANT
ALL
PRIVILEGES
ON
*.*
TO
'username'
@
'%'
IDENTIFIED
BY
'123456'
WITH
GRANT
OPTION
;
用 FLUSH PRIVILEGES; 使之立即生效。
查看用户权限:SHOW GRANTS FOR usrname;