• 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运算符

  • 相关阅读:
    二十七、Java 枚举(enum)
    36、ARF Artistic Radiance Fields
    androidx.appcompat.widget.Toolbar最右边设置控件不能仅靠最右边
    cobbler简介&部署
    计算机毕业设计之旅游分享网站
    LVGL V8.2 嵌入式Linux平台使用tslib实现输入接口(以SSD212为例)
    K-means算法实战项目(Python实现)
    将huggingface的大模型转换为safetensor格式
    Java策略模式在我司应用
    【Ubuntu】Ubuntu20.04下安装视频播放器vlc和录屏软件ssr
  • 原文地址:https://blog.csdn.net/qq_45577461/article/details/126098478