• MySQL学习笔记(2)——进阶操作


    在菜鸟MySQL教程 进行的简单的数据库操作的学习和整理。

    1.JOIN表连接

    • inner join 内连接/等值连接——获取两表中字段匹配关系的记录;
    • left join 左连接——获取左表所有记录,右表对应匹配的记录;
    • right join 右连接——获取右表所有记录,左表对应匹配的记录;

    在这里插入图片描述

    1.1 inner join

    在这里插入图片描述
    <=>

    在这里插入图片描述

    1.2 left join

    在这里插入图片描述

    1.3 right join

    在这里插入图片描述

    2. Alter命令

    2.1 删除字段 alter + drop
    ALTER TABLE table DROP i;
    
    • 1

    在这里插入图片描述

    2.2 添加字段 alter + add
    ALTER TABLE table ADD i DATE;
    
    • 1

    在这里插入图片描述
    默认添加到列尾,可以使用First和AFTER关键字设置指定的列的顺序:

    alter table book add publication DATE fIrst;
    alter alter table book add publication DATE after name;
    
    • 1
    • 2
    2.3 修改字段 alter + modify / change

    修改author字段类型从char(40)到char(100):

    ALTER TABLE book MODIFY author CHAR(100);
    
    • 1

    修改name为title,并指定类型:

    ALTER TABLE book CHANGE name title CHAR(100);
    
    • 1
    2.4 修改字段默认值
    alter TABLE book alter publication SET DEFAULT '2000-01-01';
    
    • 1
    2.5 修改表名 alter + rename
    alter TABLE book RENAME TO literature;
    
    • 1

    3.RegExp正则表达式

    在这里插入图片描述
    常用模式:

    模式描述
    ^匹配字符串的开头。“^a”
    $匹配字符串的结尾。“a$”
    .匹配除‘\n’之外的任意字符。
    a|b|c匹配a或b或c。’(a|b)c‘匹配ac或bc
    a*匹配a连续零个或多个。
    a+匹配a连续一个或多个。
    a{n}匹配a连续指定n个。
    a{n,m}匹配a连续最少n个,最多m个。

    PS:关于NULL的判定匹配
    不能用=或!=NULL判定NULL是否存在。
    正确的判定方法:

    • IS NULL : 当值为NULL,返回true;
    • IS NOT NULL : 当值不为NULL,返回true;
    • <=> :两值相等或都为NULL时,返回true。

    4.复制表

    两步走:
    (1)创建复制表的结构:

    show create table book \G;
    
    • 1

    在这里插入图片描述
    复制Create Tabel:之后的语句,修改表名,创建复制表book_copy的结构:
    在这里插入图片描述
    (2)insert into … select 复制表的内容
    在这里插入图片描述

    5.导入导出数据

    5.1 MySQL导出数据

    (1) 导出为文件

    SELECT * FROM table 
    INTO OUTFILE 'file_name'
    
    • 1
    • 2

    (2) 将book导出为csv格式:

    select* from book into outfile 'book.csv'
    fields terminated by ',' enclosed by '"'
    lines terminated by '\r\n';
    
    • 1
    • 2
    • 3

    (3) 将book导出为各值用逗号隔开的常用形式:

    select* from book into outfile 'book.txt'
    fields terminated by ',' optionally enclosed by '"'
    lines terminated by '\n';
    
    • 1
    • 2
    • 3

    (4) 导出为sql格式:
    在cmd:

    mysqldump -u root -p study book > book.sql
    
    • 1
    5.2 MySQL导入数据

    (1)mysql命令导入

    mysql -u用户名 -p密码 < 数据库数据(book.sql)
    
    • 1

    (2)source 命令导入

    use study;
    set names utf8;
    source book.sql;
    
    • 1
    • 2
    • 3

    (3)load data 导入

    LOAD DATA LOCAL INFILE ’book.txt' INTO TABLE study;
    
    • 1

    (4) mysqlimport
    在cmd:

    mysqlimport -u root -p --local book book.txt
    
    • 1

    6. 函数和运算符

    指路>>>MySQL函数 >>>MySQL运算符

  • 相关阅读:
    2022阿里云金秋上云双十一轻量服务器2核2G 2核4G
    Self-Polish: Enhance Reasoning in Large Language Models via Problem Refinement
    2022 前端面试题
    【组成原理-存储】存储器的相关知识
    钉钉数字校园小程序开发:开启智慧教育新时代
    14:00面试,14:06就出来了,问的问题有点变态。。。
    [UDS] --- ReadDataByIdentifier 0x22
    为什么选择推荐计划?不能错过的这八大好处
    【毕业设计】深度学习乳腺癌医学图像分类算法研究与实现 - python 卷积神经网络
    机械臂外参标定
  • 原文地址:https://blog.csdn.net/qq_45577461/article/details/126098478