MySQL学习第四篇

数据导入

  1. 作用
    把文件系统的内容导入到数据库
  2. 语法
  • 语法(一)
    load data infile “文件名” into table 表名 fields terminated by “分隔符” lines terminated by “\n”
    load data infile "scoreTable.csv" into table stu_score fields terminated by "," lines terminated by "\n";
    注:在Linux系统中要求将文件存放在数据库搜索路径中,可用show variables like 'secure_file_priv';命令查看数据库搜索路径
    create table stu_score(rak int,name varchar(16) not null,score float(5,2),phone char(11),class char(7))charset=utf8mb4;
  • 语法(二)
    source 文件名.sql

数据导出

  1. 作用
    将数据库中表的记录保存到系统文件里
  2. 语法格式
    select … from 表名 into outfile “文件名” fields terminated by “分隔符” lines terminated by “分隔符”;
    select name,class from student into outfile "文件名.csv" fields terminated by "," lines terminated by "\n";
    注:导出的内容由SQL语句决定且执行导出命令时路径必须指定在对应的数据库目录下

表的复制

  1. 语法
    create table 表名 select 查询命令
    注:复制表的时候不会将原有表的KEY属性复制
    表结构的复制:create table 表名 select 查询命令 where false
    create table class_1704_1 select id,name,from_where from class_1704;
    select * from class_1704_1;
    create table class_1704_2 select * from class_1704 order by score DESC limit 3;
    select * from class_1704_2;
    # 复制表结构
    create table class_1704_3 select id,name,hobby from class_1704 where false;
    ```![](https://img-blog.csdnimg.cn/2020121409101660.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L20wXzUyNTY3NjEw,size_16,color_FFFFFF,t_70#pic_center)
    
    

锁(MySQL自动加锁与释放锁)

  1. 目的:解决客户端并发访问的冲突问题
  2. 锁类型:
  • 读锁(共享锁):加读锁之后他人不能更改表记录,但可以进行查询
    
  • 写锁(互斥锁、排它锁):加写锁之后他人不能查、不能改
    
  1. 锁粒度:
  • 表级锁:myisam
    
  • 行级锁:innodb
    

存储引擎

  1. 定义:处理表的处理器
  2. 基本操作
    • 查看所有存储引擎:show engines;
    • 查看已有标的存储引擎:show create table 表名;
    • 创建表时指定:create table 表名()enging=引擎名;
    • 已有表指定引擎:alter table 表名 engine=引擎名;
    1. 常用存储引擎及特点
  • InnoDB:

    支持行级锁
    支持外键、事务、事务回滚
    表字段和索引同存储在一个文件中

    (1).表名.frm :表结构及索引文件
    (2).表名.ibd : 表数据

  • MyISAM

    1.支持表级锁
    2.支持段和索引分开存储

    (1).表名.frm :表结构
    (2).表名.myi : 索引文件
    (3).表名.myd : 表数据

  • MEMORY

    表记录存储在内存中,效率高
    服务或主机重启,表记录清除

  1. 如何选择存储引擎
    • 执行查操作多的表用MyISAM
    • 执行写操作多的表用InnoDB
    • 临时表用MEMORY
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值