首页 > 数据库 >MySQL数据库

MySQL数据库

时间:2024-07-05 12:55:39浏览次数:14  
标签:数据库 MySQL 查询 表名 where 列名 select

1.0 数据模型

1.1第一种

        MySQL客户端链接

  • MySQL自带的客户端命令行
  • mysql [-h 127.0.0.1][-P 3306] -u root -p
  • 1.2 第二种

    • 使用命令: mysql -uroot -proot
    • -u:用户名
    • -p: 密码
  • 1.3 第三种: 使用客户端软件 navicat 和sqlyog等

  • 关系型数据库
  • 建立在关系建模基础上,由多张相互连接的二维表组成的数据库
    • 特点
      • 使用表储存数据,格式统一,便于维护
      • 使用SQL语言操作,标准统一,便于方便
  • 数据模型
    • 数据库

2.0 SQL

2.1SQL

  • 2.1.1 通用语法

  • SQL语句可以使用空格/缩进来增强语句的可读性
  • SQL语句可以单行或多行书写,以分号结尾
  • MySQL数据库的SQL语句不区分大小写,关键字建议使用大写。
  • 2.1.2 注释

    • 单行注释
    • -- 注释内容或#注释内容(MySQL特有)
    • 多行注释
    • /*注释内容*/
  • 2.1.3 SQL分类

    • 数据查询语言
    • 数据操作语言
    • 数据定义语言
    • 数据控制语言
    • 事务控制语言TCL

 

  • 2.2 DDL数据定义语言

    • 2.2.1 数据库操作

      •  数据类型
        • int
        • bigint
        • float
        • double
        • decimal
        • varchar  字符串类型 最大255
        • text         文本
        • date        日期类型
    • 2.2.2 表操作

      • 查询
        • 查询当前数据库所有表
          • SHOW WABLES
        • 查询表结构
          • DESC表名
        • 查询指定表的建表语句
          • SHOW CREATE TABLE 表名
      • 创建
      • 修改
        • 增加一列
          • ALTER TABLE 表名 ADD COLUMN 列名 数据类型
        • 删除指定的列
          • ALTER TABLE 表名 DROP COLUMN 列名
        • 修改某一列的数据
          • ALTER TABLE 表名 MODIFY COLUMN 列名 新数据类型
        • 修改列名
          • ALTER TABLE 表名 CHANGE COLUMN 原来的列名 新的列名 数据类型
    • 2.2.3 约束

      • 约束是作用于表中字段上的规则,用于限制存储在表中的数据
      • 目的
        • 保证数据库中数据的正确 有效性 和完整性
      • 分类
        • insert into 表名(列名,列名,....) values(值,值2.....) 往表里添加数据
      • 外键约束
        • 外键用来让两张表的数据之间建立连接,从而保证数据的一致性和完整性
        • 为什么需要外键
          • 数据完整性:外键可以确保数据的完整性,通过外键约束可以确保在一个表中的某个字段的值必须在另一个表中存在。这样可以避免在关联表之间出现不一致或错误的数据。
          • 数据一致性:外键可以确保数据的一致性,通过外键约束可以保证在关联表中的数据是一致的,减少数据冗余和错误。
          • 数据关联:外键可以建立表与表之间的关联关系,使得在查询数据时可以方便地通过外键进行关联查询,获取相关联的数据。
          • 数据查询性能:外键可以提高数据查询性能,通过外键建立关联关系可以减少数据的冗余存储,提高数据的查询效率。
          • 总结
            • 通过外键可以确保数据的完整性、一致性,建立表与表之间的关联关系,提高数据查询性能,使得数据库的设计更加规范和高效。
      • 添加和删除\更新外键

2.2 DML

  • 2.2.1 概念

    • DML(Data Mark Lau)数据标记性语言。该语言主要用户对数据库表中的记录进行操作的。【增加 删除 修改
  • 2.2.2 语法

    • 查询
      • select * from 表名
    • 增加
      • 为表中所有列添加数据   insert into 表名 values(值,值,值.....)
      • 为指定列添加数据   insert into 表名(列名,列名...) values(值,值...)
      • 批量添加        insert into 表名(列名,列名...) values(值,值...),(值,值...)
    • 删除
      • delete from 表名;
        • -- 删除表中所有的记录 [不建议使用]
      • delete from 表名 where 条件
        • -- 根据条件删除满足条件的记录
    • where 条件
      • 关系运算符: >,>=,<,<=,=,!=
        • delete from 表名 where age = 25
      • in运算符
        • delete from 表名 where age in(12,19,20,26);
      • between and
        • delete from 表名 where age BETWEEN 19 and 25;
      • 逻辑运算符: and(与) or(或)
        • delete from 表名 where id=14 and age>20;
        • delete from 表名 where id=14 or age>20;
    • 修改
      • update 表名 set 列名 = 值 , 列名 = 值 , 列名 = 值. . . where 条件
      • 注意: 最后一个列名=值不要使用,号
  • 2.3 DQL

    • 概念
      • DQL( Data Query La)数据查询语言。作用:用于查询数据表中记录。
    • 语法
      • 查询   select [列名...] from 表名 [where 条件]
      • 查询所有列的值   select * from 表名
      • 查询指定列的值
        • select 列名 from 表名
      • 根据条件查询
        • select * from 表名 [where 条件]
      • 模糊查询
        • select * from 表名 where 列名 like 通配符
        • 通配符
          • %  统配N个字符
          • _   通配一个字符
      • 为查询的列起别名
        • select 列名 as 别名,列名 as 别名 from 表名 【where 条件】
      • 去除重复项
        • select distinct 列名,列名 ... from 表名 【where 条件】
      • 排序
        • select * from 表名 order by 列1,列2...[desc降序 asc升序默认]
      • 分页查询
        • select * from 表名 limit 起始记录,每页显示条数;
        • 规律
          • select * from t_user limit (current-1)*pageSize,pageSize;
      • 聚合函数
        • MySQL自带的函数
        • 分类
          • sum() 求和
          • count() 求个数
          • avg() 平均值
          • max() 最大值
          • min() 最小值
        • 案例
          • select sum(age) 年龄和,max(age) 最大年龄,min(age) 最小年龄,count(id) 个数,avg(age) from t_user;
      • 查询的结果或条件上可以使用运算符
        • select age, age+1 from t_user where age+1>20;
      • 分组查询
        • select 分组的列,聚合函数 from 表名 group by 列名,列名 having 分组后的条件
    • 导入和到处SQL语句
      • 导出
      • 导入
        • 手动创建
  • 2.4查看SQL执行原理

  • 2.5 联表查询

    • 内连接
      • 两个表的公共部分
        • select * from 表名1 inner join 表名2 on 联表条件;
    • 外连接
      • 左外连接
        • 查询左边所有的内容以及公共内容
          • select * from 表名1 left join 表名2 on 联表条件
      • 右外连接
        • 查询右边所有的内容以及公共内容
          • select 字段列表 from 表1 right [outer] join 表2 on 条件
          • select * from 表1 right [outer] join 表2 on 条件
    • 子连接
      • 自己连接自己的表
  • 2.6 嵌套查询   select套select

  • 2.7MySQL中内置的函数

    • 字符串函数
      • select [列名...] 函数 from 表名 [where 条件]
      • select * from 表名 [where 条件]
    • 时间函数
    • 数学函数

 

  • 3.0 远程连接

    • 3.1JDBC

      • 3.1.1 语法和案例

      • 我们之前操作数据库--都是通过图形化界面来对mysql进行操作,我们实际开发是我们应该通过java代码来完成对数据库的操作。
    • 协议:数据库类型://数据库服务器ip:端口号/数据库名
    • 加载驱动: Class.forName("com.mysql.cj.jdbc.Driver")
    • .获取连接对象: Connection con=DriverManager.getConnection(url,user,password);
      • Connection - 表示数据库连接的对象
      • DriverManager - 用于管理数据库驱动程序的类
      • getConnection - 用于建立数据库连接的方法
      • Url - 数据库连接的URL
    • 获取执行sql语句的对象: Statement st=con.createStatement();
      • Statement - 用于执行SQL语句的对象
    • 执行增删改sql语句: st.executeUpdate(sql);
      • executeUpdate - 用于执行增删改SQL语句的方法
    • 关闭资源
      • st.close()
      • con.colse()
    •  
      • " insert into 列名 values (列的内容)
    •  
      • "delete from 表名 where 列名 =" +列的内容
    • sql - 要执行的SQL语句*
    • 3.1.2常见错误

      • 第一种
        • 写错驱动名
        • 没有引入mysql的驱动包
        • 没有构建jar
      • 第二种
        • 服务IP写错
        • MySQL服务没开
      • 第三种
        • 账号密码错误
      • 第四种
        • sql错误--sql和navicat再运行一下

标签:数据库,MySQL,查询,表名,where,列名,select
From: https://blog.csdn.net/2401_85014515/article/details/140197546

相关文章

  • [Mysql]慢查询
    慢查询如何找到慢查询语句要找出项目中的慢查询语句,可以通过几种方法,主要取决于你使用的数据库系统。以下是一些通用的步骤和针对MySQL和PostgreSQL数据库的具体方法:通用步骤:启用慢查询日志:大多数数据库管理系统都支持慢查询日志,通过配置可以记录执行时间超过指定阈值的查......
  • [Mysql]SQL优化
    数据库优化1)从设计层面,在数据库设计阶段需要遵从数据库设计的范式,避免冗余数据。对于大表,可以采用拆表的方式,将一个大表拆分为多个小表,减少单表的数据量。同时避免数据类型不当、字段过多等原因导致数据库查询效率降低。2)从索引层面,需要优化索引的数量、字段选择、索引类型等。......
  • [Mysql]Explain
    Explain执行计划分析什么是执行计划?执行计划是指一条SQL语句在经过MySQL查询优化器的优化后,具体的执行方式。执行计划通常用于SQL性能分析、优化等场景。通过EXPLAIN的结果,可以了解到如数据表的查询顺序、数据查询操作的操作类型、哪些索引可以被命中、哪些索引实际......
  • [数据库]索引失效
    索引失效https://mp.weixin.qq.com/s/mwME3qukHBFul57WQLkOYg未遵循最左匹配原则索引列上使用了函数例如,selectafromtablewherelength(b)=5,不会走b上的索引索引列上使用了计算例如,selectafromtablewherelb-1=5,不会走b上的索引使用like%例如,SELECT*......
  • SQL Server 中用于备份数据库的 BACKUP 命令提供了多种选项和灵活性,主要包括以下几种:S
    SQLServer中用于备份数据库的BACKUP命令提供了多种选项和灵活性,主要包括以下几种:1.完整备份(FULL)完整备份将整个数据库备份到指定的备份介质(如磁盘或磁带)。语法如下:sqlCopyCodeBACKUPDATABASEdatabase_nameTOdisk='backup_device_path'[,...n]database_name:要备......
  • [Mysql]索引
    MySQL索引详解索引介绍索引是一种用于快速查询和检索数据的数据结构,其本质可以看成是一种排序好的数据结构。索引的作用就相当于书的目录。打个比方:我们在查字典的时候,如果没有目录,那我们就只能一页一页的去找我们需要查的那个字,速度很慢。如果有目录了,我们只需要先去目录里......
  • SQL Server 中的 DBCC(Database Console Commands)命令提供了一系列用于数据库管理和诊
    SQLServer中的DBCC(DatabaseConsoleCommands)命令提供了一系列用于数据库管理和诊断的工具和功能。以下是一些常用的DBCC命令及其功能:DBCCCHECKDB:用于检查整个数据库的物理和逻辑一致性。sqlCopyCodeDBCCCHECKDB('MyDatabase');DBCCCHECKTABLE:检查指定表......
  • mysql数据库安装
    mysql数据库安装1.从官网下载yum包直接使用wget下载yum包wgethttp://repo.mysql.com/mysql57-community-release-el7-10.noarch.rpm​​2.安装软件源rpm-Uvhmysql57-community-release-el7-10.noarch.rpm​​3.安装Mysql服务端yuminstall-ymysql-communi......
  • MySQL - [16] SSL
    题记部分 一、标题  二、相关SQL(1)查看MySQL服务器是否支持SSL:SHOWVARIABLESLIKE'have_ssl';Tips:如果输出显示have_ssl的值为YES,则表明MySQL支持SSL。(2)检查SSL证书和密钥是否已被配置:SHOWVARIABLESLIKE'ssl%';Tips:查看输出结果中是否有ssl_ca、ssl_cert......
  • abp 接入国产达梦8数据库
    1.修改数据库连接"Default":"server=host;port=5236;userid=ABP;password=1q2w3E*;database=ABP",建议用户名和数据库一样,后期便于处理2,添加达梦的ef库,sdk<PackageReferenceInclude="DM.Microsoft.EntityFrameworkCore"Version="3.1.0.20604&qu......