温故而知新-MySQL高级编程

1 load data infile语句

MySQL下的命令  登录mysql命令行模式

load data infile "/var/www/1.txt" into table books; 

导入1.txt的文件,到books表

2  表格类型

myisam 默认类型,查询速度较快,支持全文检索 不支持事物

memory 表的索引是哈希分布的 存在于内存中 不能有自增列 用于临时表格和视图

merge 这个类型的 可以为了查询的目的,把

archive 类型的表只支持select和insert 不支持delete,update,replace 也不使用索引

csv保存在服务器上的单个文件中

innodb 支持事物,支持外键,但是查询比myisam慢

alter table orders type=innodb

3 mysql事物

acid(原子,一致,孤立,持续性)

set autocommit=0; 关闭自动提交

开始事物

start transaction 

commit

rollback

4 外键,只有innodb的表类型 才可以创建外键

5存储过程是一个可编程的函数,它可以在mysql中创建并保存。

delimiter //
create procedure total_orders(out total float)
BEGIN
    select sum(amount) into total from orders;
END
//
delimiter;

call total_orders(@t)
delimiter //
create function add_tax (price float) returns float
return price*1.1;
//
delimiter ;

select add_tax(100);

函数

查看

show create procedure total_orders;

show create function add_tax;

删除

drop procedure total_orders;

drop function add_tax;

6 局部变量

在BEGIN和END中间,可以declear 声明局部变量

delimiter //
create function add_tax(price float) returns float
begin
    declare tax float default 0.1;
    return price*(1+tax)
end
//
delimiter;

7 游标

存在于存储过程中,类似于数组

原文地址:https://www.cnblogs.com/baker95935/p/9203614.html