• mysql基本命令操作


    MySQL数据库管理

    SQL语句

    SQL语句用于维护管理数据库,包括数据查询、数据更新、访问控制、对象管理等功能
    DDL:数据定义语言,用于创建数据库对象,如库、表、索引等
    DML:数据操纵语言,用于对表中的数据进行管理,用来插入、删除和修改数据库中的数据
    DQL:数据查询语言,用于从数据表中查找符合条件的数据记录
    DCL:数据控制语言,用于设置或者更改数据库用户或角色权限(数据控制语句,用于控制不通数据段直接的许可和访问级别的语句,这些语句定义了数据库、表、字段、用户的访问权限和安全级别,如COMMIT、ROLLBACK、GRANT、REVOKE)

    常用的数据类型

    int :整型

    float :单精度浮点 4字节32位

    double :双精度浮点 8字节64位

    char :固定长度的字符类型

    varchar :可变长度的字符类型

    text :文本

    image :图片

    decimal(5,2) :5个有效长度数字,小数点后面有2位

    查看数据库结构

    show databases;     #查看当前服务器中的数据库
    use 数据库名;         #切换数据库
    show tables;         #查看数据库中包含的表
    desc(desribe) 表名;            #查看表的结构
    
    • 1
    • 2
    • 3
    • 4

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    创建及删除数据库和表

    create database 数据库名;     #创建新的数据库
    create table 表名 (字段1 数据类型,字段2 数据类型,。。。。PRIMARY KEY (主键名]);  #创建新的表
    drop table   表名;            #删除指定的数据表
    drop database 数据库名;        #删除指定的数据库
    
    • 1
    • 2
    • 3
    • 4
    创建库:在这里插入图片描述
    创建表:

    在这里插入图片描述

    删除指定表:

    在这里插入图片描述

    删除指定数据库:

    在这里插入图片描述

    管理表中的数据记录

    insert into 表名(字段1,字段2,。。。。)values(字段1的值,字段2的值,。。。。); #向数据表中插入新的数据记录
    select *from 表名;                                   #查询表的全部数据
    select 字段1,字段2 from 表名 where 条件表达式;         #查询指定数据
    select *from 表名\G                                   #以列表方式竖向显示
    select *from 表名 limit 2;                           #只显示前两行
    select *from 表名 limit 3,2;                        #显示第三行之后的前两行,这里显示4,5两行
    update 表名 set 字段名1=字段值1 where 条件表达式;        #修改、更新数据表中的数据记录
    delect from 表名 where 条件表达式;                     #在数据表中删除指定的数据记录
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    修改表中的数据:

    在这里插入图片描述

    删除表中指定数据:

    在这里插入图片描述

    修改表名和表结构

    alter table 旧表名 rename 新表名;                           #修改表名
    alter table 表名  add 字段名 数据类型 属性;                              #扩展表结构(增加字段)
    alter table 表名 change 旧字段名 新字段名 数据类型 属性;      #修改字段(列)名
                                                               #CHANGE可修改字段名、数据类型、约束等所有项。
    alter table 表名 drop 字段名;                               #删除字段
    
    • 1
    • 2
    • 3
    • 4
    • 5
    修改表名:

    在这里插入图片描述
    在这里插入图片描述

    添加字段:

    在这里插入图片描述

    在字段里添加内容:

    在这里插入图片描述

    修改字段名:

    在这里插入图片描述

    删除字段:

    在这里插入图片描述

    自增

    auto_increment:表示此字段为自增长字段,即每条记录自动递增1,默认从1开始递增;自增长字段数据不可以重复;自增长字段必须是主键;如添加的记录数据没有指定此字段的值且添加失败也会自动递增一 次

    填充

    int(4) zerofill:表示若数值不满4位数,则前面用“0”填充,例0001

    克隆表

    法一:先复制表再导入数据
    create table 新表名 like 旧表名;          #通过like方法,复制旧表结构生成新表
    insert into select *from 旧表名;         #导入数据
    法二:复制表的同时导入数据
    create table 新表名 (select *from 旧表名);
    
    • 1
    • 2
    • 3
    • 4
    • 5
    克隆表名:

    (方法一)

    mysql> create table zhifubao like yuebao;
    
    
    • 1
    • 2

    在这里插入图片描述
    在这里插入图片描述

    复制表的同时导入数据:

    (方法二)

    mysql> create table zhifubao (select * from yuebao);
    
    
    • 1
    • 2

    在这里插入图片描述

    清空表,删除表内的所有数据

    法一:delete删除
    delect from 表名;
    #DELETE清空表后,返回的结果内有删除的记录条目;DELETE工作时是一行一行的删除记录数据的;如果表中有自增长字段,使用DELETE FROM 删除所有记录后,再次新添加的记录会从原来最大的记录 ID 后面继续自增写入记录。
    法二:truncate删除
    truncate table 表名;
    #TRUNCATE 清空表后,没有返回被删除的条目;TRUNCATE 工作时是将表结构按原样重新建立,因此在速度上 TRUNCATE 会比 DELETE 清空表快;使用 TRUNCATE TABLE 清空表内数据后,ID 会从 1 开始重新记录。
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    清空表:(方法一)
    mysql> desc zhifubao;
    
    
    • 1
    • 2

    在这里插入图片描述

    清空表:(方法二)
    mysql> truncate table zhifubao;
    
    
    • 1
    • 2

    在这里插入图片描述
    在这里插入图片描述

    创建临时表

    临时表创建成功之后,使用SHOW TABLES命令是看不到创建的临时表的,临时表会在连接退出后被销毁。 如果在退出连接之前,也可以可执行增删改查等操作,比如使用 DROP TABLE 语句手动直接删除临时表。

    create temporary table 表名(字段1 数据类型,字段2 数据类型。。。。);
    
    • 1
    mysql> create temporary table meituan (id int(4) not null,name char(10) not null,passwd varchar(6) not null,primary key (name));
    
    
    • 1
    • 2

    在这里插入图片描述
    在这里插入图片描述

    创建外键约束,保证数据的完整性和一致性

    主键表和外键表的理解:

    (1)以公共关键字作主键的表为主键表(父表、主表)

    (2)以公共关键字作外键的表为外键表(从表、外表)

    注意:与外键关联的子表的字段必须设置为主键。要求主表外键字段和子表的字段具备相同的数据类型、字符长度和约束。

    创建外键约束的步骤
    创建主键表和从键表
    mysql> create table ky23(id int,name char(10));  #主
    mysql> create table ky24(id int,name char(10),sex char(2));  #从
    
    
    • 1
    • 2
    • 3

    在这里插入图片描述

    为主键添加一个主键约束。主键名建议以“PK_”开头
    mysql> alter table ky23 add constraint PK_id primary key(id);
    
    
    • 1
    • 2

    在这里插入图片描述

    为从表添加外键,外键名建议以“FK_”开头,并与主键表建立关联
    mysql> alter table ky24 add constraint FK_id foreign key (id) references ky23 (id);
    
    
    • 1
    • 2

    在这里插入图片描述

    插入新的数据记录时,要先主表再从表
    mysql> insert into ky23(id,name) values(1,'闻少');
    mysql> insert into ky24(id,name) values(1,'熊少');
    mysql> select * from ky23;
    mysql> select * from ky24;
    
    • 1
    • 2
    • 3
    • 4

    在这里插入图片描述

    删数数据记录时,要先从表再主表,也就是说删除主键表时必须先删除其他与之关联的表
    mysql> delete from ky23 where id=1;  #删除主表失败
    mysql> delete from ky24 where id=1;
    mysql> delete from ky23 where id=1;
    mysql> select * from ky23;
    mysql> select * from ky24;
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    在这里插入图片描述

    查看和解除外键约束以及删除外键
    mysql> show create table ky24\G; #查看从表信息
    mysql> alter table ky24 drop foreign key FK_id;  #删除外键约束
    mysql> alter table ky24 drop key FK_id;  #删除外键
    mysql> show create table ky24\G;  #再次查看
    
    • 1
    • 2
    • 3
    • 4

    在这里插入图片描述

  • 相关阅读:
    import一个“太极”库,让Python代码提速100倍
    【深度学习】第二章:全连接神经网络
    改进乌鸦算法求解单目标优化问题
    用Java实现扑克牌游戏——简易炸金花
    C++/Qt音视频通话开发MetaRTC源码解读,sdp交互流程
    多版本并发控制 mvcc
    ArduPilot开源飞控之AP_Relay
    Docker笔记-08 Docker BuildKit
    rules使用正则表达式进行校验手机号
    快速入手node.js
  • 原文地址:https://blog.csdn.net/LIUKANGYYDS/article/details/128017375