• Mysql数据库SQL语句与管理


    1、常用的数据类型

    数据类型
    (1)int:整型 用于定义整数类型的数据
    (2)float:单精度浮点4字节32位 准确表示到小数点后六位
    (3)double:双精度浮点8字节64位
    (4)char:固定长度的字符类型 用于定义字符类型数据。 20字节 4 16 空格
    (5)varchar:可变长度的字符类型 20 4 4
    (6)text:文本
    (7)image:图片
    (8)decimal(5,2):5个有效长度数字,小数点后面有2位 指定长度数组 55555.00

    ps:Char如果存入数据的实际长度比指定长度要小,会补空格至指定长度,如果存入的数据的实际长度大于指定长度,低版本会被截取,高版本会报错

    2、数据库管理

    存储类型

    MySQL是一个支持多种存储引擎的关系型数据库管理系统,不同的存储引擎有各自的特点和适用场景。以下是MySQL支持的一些常见存储引擎:

    • InnoDB存储引擎:InnoDB是MySQL默认的存储引擎,支持事务处理、行级锁、外键约束和多版本并发控制等特性,适用于高并发、高可靠性的应用场景。
    • MyISAM存储引擎:MyISAM不支持事务处理和行级锁,但支持全文索引、压缩、空间函数和表锁等特性,适用于读多写少的应用场景。
    • Memory存储引擎:Memory存储引擎将数据存储在内存中,支持快速的读写操作,但不支持持久化存储和大容量数据,适用于缓存、会话数据和临时表等应用场景。
    • CSV存储引擎:CSV存储引擎将数据存储在CSV格式的文件中,适用于导入和导出数据、数据交换和数据备份等应用场景。
    • Archive存储引擎:Archive存储引擎将数据以压缩格式存储,适用于大量历史数据的存储和查询等应用场景。
    • Blackhole存储引擎:Blackhole存储引擎将所有写入操作都忽略,适用于数据复制和数据分发等应用场景。

    ps:以上存储引擎并不是全部,MySQL还支持其他存储引擎,如NDB存储引擎和Federated存储引擎等。根据应用场景的不同,选择合适的存储引擎可以提高MySQL的性能和可靠性。

    3、SQL语句

    3.1语言分类

    在关系型数据库中,DDL、DML、DQL和DCL是四种不同的SQL语言类型,用于不同的操作和管理数据库对象的权限。以下是它们的具体介绍:

    • DDL(Data Definition Language,数据定义语言):DDL用于创建、修改和删除数据库对象,如表、索引、视图、存储过程等。常见的DDL操作包括CREATE、ALTER和DROP等。DDL语句执行后会立即生效,对数据库结构进行修改。
    • DML(Data Manipulation Language,数据操作语言):DML用于插入、更新和删除数据库中的数据。常见的DML操作包括INSERT、UPDATE和DELETE等。DML语句执行后会改变数据库表中的数据。
    • DQL(Data Query Language,数据查询语言):DQL用于查询数据库中的数据。常见的DQL操作是SELECT。DQL语句不会改变数据库中的数据,而是返回查询结果。
    • DCL(Data Control Language,数据控制语言):DCL用于控制数据库的访问权限和安全性。常见的DCL操作包括GRANT和REVOKE等。DCL语句不会改变数据库结构或数据,而是控制对它们的访问权限。

    ps:总的来说,DDL用于定义数据库结构,DML用于操作数据库数据,DQL用于查询数据库数据,DCL用于控制数据库访问权限。这四种SQL语言类型是关系型数据库中操作和管理数据的基础。

    3.2sql语句

    select语句:用于从一个或多个表中查询数据。

    select * from 表名 //查询表中信息
    
    • 1

    在这里插入图片描述

    insert语句:用于向表中插入新的行。

    insert into user (id ,name,sorce) values (1,'wangwu',85);
    //向user表中插入内容
    
    • 1
    • 2

    在这里插入图片描述

    update语句:用于更新标中的数据

    update user  set id=2 where name='lisi';
    将姓名为lisi的id改为2
    
    • 1
    • 2

    在这里插入图片描述

    delete语句:用于删除表中的行。(只删除记录)

    deletre from user;//删除user表中的数据
    
    • 1

    在这里插入图片描述

    create语句:用于创建表、视图、存储过程等数据库对象

    在这里插入图片描述

    alter语句:用于修改表的结构

    alter table zhen add passwd char(10);
    将zhen表中插入passwd,指定为char字符型
    
    • 1
    • 2

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

    drop语句:用于删除表、视图、存储过程等数据库对象。(全部删除)

    drop table zhen;//删除表table
    
    • 1

    在这里插入图片描述

    4、DQL查询数据记录

    4.1查询

    格式:
    SELECT 字段名1,字段名2[,…] FROM 表名[WHERE 条件表达式];

    1、普通查看表的内容

    select * from a;
    
    • 1

    在这里插入图片描述
    2、条件筛选查询

    select name,sorce from a where id = 1;
    查询表中id=1的name和sorce
    
    • 1
    • 2

    在这里插入图片描述
    3、竖向查看

    select * from a\G;
    
    • 1

    在这里插入图片描述
    4、查看前两行(limit)

    select * from a limit 2;
    
    • 1

    在这里插入图片描述
    5、查看从第二行开始两行

    selcet * from a limit 2,2;
    
    • 1

    在这里插入图片描述

    4.2修改

    格式:
    UPDATE 表名 SET 字段名1=字段值1[,字段名2=字段值2] [WHERE 条件表达式];

    1、修改指定内容

    update a set passwd = 123123 where id=2;
    
    • 1

    在这里插入图片描述

    4.3删除

    格式:
    DELETE FROM 表名 [WHERE 条件表达式];

    1、删除指定行

    delete from a where id=3;
    
    • 1

    在这里插入图片描述
    2、删除表

    delete from a;
    
    • 1

    在这里插入图片描述

    4.4alter修改

    1、修改表名

    alter table a rename d;
    
    • 1

    在这里插入图片描述
    2、增加字段

    alter table b add address varchar(50) not null default 'null';
    
    • 1

    在这里插入图片描述
    3、修改字段(列)名

    alter table b change address school varchar(10);
    
    • 1

    在这里插入图片描述
    4、添加唯一键

    alter table b change name xm char(5) unique key;
    
    • 1

    在这里插入图片描述
    在这里插入图片描述
    5、删除字段

    alter table b drop school;
    
    • 1

    在这里插入图片描述
    6、指定主键的第二种方式

    #if not exists:表示检测要创建的表是否已存在,如果不存在就继续创建

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

    #auto_increment:表示此字段为自增长字段,即每条记录自动递增1,默认从1开始递增;

    自增长字段数据不可以重复;自增长字段必须是主键;如添加的记录数据没有指定此字段的值且 添加失败也会自动递增一次

    #unique key:表示此字段唯一键约束,此字段数据不可以重复:一张表中只能有一个主键,但是一张表中可以有多个唯一键

    #not null:表示此字段不允许为NULL)

    在这里插入图片描述
    7、复制表格式(备份)

    create table a like b;
    
    • 1

    在这里插入图片描述
    8、复制表内容(备份)

    inster into a select * from b;
    
    • 1

    在这里插入图片描述
    9、创建复制表(主键)

    create table zhangsan (select * from a);
    
    • 1

    在这里插入图片描述
    10、delete清空表(删除表内的所有数据)
    DELETE清空表后,返回的结果内有删除的记录条目;DELETE工作时是一行一行的删除记录数据的;如果表中有自增长字段,使用DELETE FROM 删除所有记录后,再次新添加的记录会从原来最大的记录 ID 后面继续自增写入记录。

    delete from a;
    
    • 1

    在这里插入图片描述
    11、trunkcate清空表
    TRUNCATE 清空表后,没有返回被删除的条目;TRUNCATE 工作时是将表结构按原样重新建立,因此在速度上 TRUNCATE 会比 DELETE 清空表快;使用 TRUNCATE TABLE 清空表内数据后,ID 会从 1 开始重新记录

    trunkcate table b;
    
    • 1

    在这里插入图片描述

    删除速度:drop> truncate > delete(安全性最高)

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

    PS:无法创建外键

    创建临时表
    在这里插入图片描述
    show查看不了临时表
    在这里插入图片描述
    可以用desc查看
    在这里插入图片描述
    使用select删除不了,但是可以drop可以删除
    在这里插入图片描述

    5、总结

    SQL语句是控制管理数据库的语句,可以对数据库进行增删改查,完成对数据库的管理。数据库SQL是一种用于管理关系型数据库的编程语言。它是一种标准化的语言,被广泛用于各种关系型数据库,包括 Microsoft SQL Server、MySQL、Oracle 等。SQL 语言具有简洁、灵活、高效的特点,可以实现对数据库的各种操作,包括查询、插入、更新、删除、排序、分组等。SQL 语言的基本语法包括 SELECT、FROM、WHERE、ORDER BY、GROUP BY 等关键字。

  • 相关阅读:
    【AI视野·今日Sound 声学论文速览 第六期】Mon, 18 Sep 2023
    基于springboot+vue专业手语翻译预约系统
    Verilog 基础知识
    github配置ssh密钥
    计算机毕业设计Java服装批发进销存系统(源码+系统+mysql数据库+lw文档)
    【Java基础】Java8新特性
    Excel 转为 PDF,PNG,HTML等文件
    企业里使用最广泛的技术之一SparkSQL
    hologres 索引与查询优化
    月入10.3K,苦逼土木狗转行5G网路优化工程师:对象没了之后,我选择转行!
  • 原文地址:https://blog.csdn.net/m0_62231324/article/details/133252849