当前位置: 首页 > backend >正文

Mysql数据库详解

在cmd中选择数据库操作用 USE test_db;

相关概念

Sql是操作关系型数据库的编程语言

关系型数据库:建立在关系模型基础上,由多张相互连接的二维表组成的数据库

语法

sql语法分类

DDL-数据库操作

  • 创建:CREATE DATABASE db_name;
  • 创建完整的:CREATE
  • 删除:DROP DATABASE db_name;
  • 查询所有数据库:SHOW DATABASES ;
  • 查询一个:SELECT DATABASE db_name;

DDL-数据表操作 

  • 查询所有表:SHOW TABLES;
  • 查询表结构:DESC table_name;
  • 修改表:ALTER TABLE table_name ADD column_name datatype;
  • 修改列类型或名称
    ALTER TABLE table_name MODIFY column_name new_datatype;
    ALTER TABLE table_name CHANGE old_column_name new_column_name datatype;
  • 删除列
    ALTER TABLE table_name DROP COLUMN column_name; 
  • 重命名表
    RENAME TABLE old_table_name TO new_table_name;
  • 删除表:DROP TABLE table_name;

创建表:CREATE TABLE table_name (

        column1 datatype [constraints],
        column2 datatype [constraints],
);

DML-数据操作(增删改)

  • 给指定字段添加数据:INSERT INTO table_name (column1, column2, ...) VALUES (value1, value2, ...);
  • 给字段插入多行数据:INSERT INTO table_name (col1, col2) VALUES (value1_1, value1_2),(value2_1, value2_2);
  • 省略字段名添加(字段顺序必须匹配):INSERT INTO table_name VALUES (value1, value2, ...);
  • 更新数据:UPDATE table_name SET column1 = value1, column2 = value2 [WHERE condition];
  • 不加where限制条件就会修改全部行,                      加了限制年龄为36的修改为赵康
  • 删除数据:DELETE FROM table_name WHERE condition;不加where是指删了整张表的数据

DQL-数据查询语言

SELECT [DISTINCT] column1, column2, ...
FROM table_name
[WHERE condition]
[GROUP BY column]
[HAVING condition]
[ORDER BY column [ASC|DESC]]
[LIMIT offset, count];

  • 基本查询:查询相关列SELECT column1, column2, ...FROM table_name;
    查询全部:SELECT * FROM table_name;
    设置别名查询:SELECT column1 AS 别名1, column2 AS 别名2...FROM table_name;
    去掉重复记录查询:SELECT DISTINCT column1FROM table_name;
  • 条件查询(WHERE):条件包括
    操作符 / 关键字含义
    =等于
    !=<>不等于
    > / <大于 / 小于
    >= / <=大于等于 / 小于等于
    BETWEEN a AND b在区间内(含边界)
    IN (a, b, ...)值在集合中,满足其一即可
    NOT IN (...)值不在集合中
    LIKE模糊匹配
    NOT LIKE不匹配
    IS NULL是空值
    IS NOT NULL不是空值
    AND / OR逻辑与 / 或
    NOT逻辑非
    EXISTS / NOT EXISTS子查询结果存在 / 不存在
    REGEXP正则匹配(大小写敏感)
    LIKE BINARY严格区分大小写的模糊匹配
    通配符含义示例说明
    %匹配任意数量的任意字符(包括0个)'a%':以 a 开头的任意字符串
    _匹配任意一个字符'a_':a 开头且后面跟一个任意字符
    []匹配指定范围内的任一字符(仅某些版本支持)'[a-c]%':以 a、b 或 c 开头的
    [^]排除某些字符(仅某些版本支持)'[^a]%':不以 a 开头的


  • 聚合参数(count,max,min,avg,sum):SELECT 函数(column1) FROM table_name;
  • 分组查询(GROUP BY):
    SELECT column1, column2, ...FROM table_name [WHERE condition] GROUP BY 分组字段名 [HAVING 过滤条件];
  • 排序查询(ORDER BY)
  • 分页查询(LIMIT)

数据类型 

整型

类型字节范围(有符号)描述
TINYINT1-128 ~ 127小整数
SMALLINT2-32,768 ~ 32,767较小整数
INT / INTEGER4-2,147,483,648 ~ 2,147,483,647常用整数
BIGINT8±9.22×10¹⁸超大整数

浮点型

类型描述
FLOAT(M, D)单精度浮点数(约 7 位精度)
DOUBLE(M, D)双精度浮点数(约 16 位精度)
DECIMAL(M, D)精确小数(用于财务/货币)

字符串型 

类型描述最大长度
CHAR(n)固定长度字符串最多 255 字节
VARCHAR(n)可变长度字符串最多 65,535 字节(受行限制)
TEXT长文本(不支持默认值)最多 65,535 字节

日期时间类型

类型格式描述
DATEYYYY-MM-DD日期
DATETIMEYYYY-MM-DD HH:MM:SS日期 + 时间(无时区)
TIMESTAMPYYYY-MM-DD HH:MM:SS日期 + 时间(自动时区转换)
TIMEHH:MM:SS时间
YEARYYYY

 

http://www.xdnf.cn/news/6771.html

相关文章:

  • 最小二乘法:从房价预测到损失计算
  • 从裸机开发到实时操作系统:FreeRTOS详解与实战指南
  • 质量管理工程师面试总结
  • 【AI基础设施安全检测工具】AI Infra Guard安装使用详细说明
  • 全面且深度学习c++类和对象(上)
  • 视频抽帧并保存blob
  • 第二十六天打卡
  • 数据备份与恢复方案
  • 7. 进程控制-进程替换
  • WebGIS开发智慧机场项目实战(2)
  • 前端学习(4)—— JavaScript(基础语法)
  • 循环嵌套与枚举算法
  • C41-为什么要用指针
  • 后端框架(3):Spring(1)
  • 【技术原理】ELK技术栈的历史沿革与技术演进
  • Linux——一键部署应用脚本
  • 方法区与元空间解析
  • 软件架构风格系列(2):面向对象架构
  • (网络文件系统)N
  • 本地部署Scratch在线编辑器
  • Ngrok 配置:实现 Uniapp 前后端项目内网穿透
  • Recycling Krylov Subspace 方法解释与开源实现
  • 【Arthas实战】常见使用场景与命令分享
  • 电子电路:电容在电子电路中到底发挥着什么作用?
  • Unity 批量将图片从默认类型改为Sprite类型
  • 数字金融发展对商业银行信用风险的影响研究(stata分析范文)
  • 描述性统计图表
  • HC32L190 ADC采集
  • firewall防火墙
  • 前端方法的总结及记录