MySQL入门(数据库、数据表、数据、字段的操作以及查询相关sql语法)


天行健,君子以自强不息;地势坤,君子以厚德载物。


每个人都有惰性,但不断学习是好好生活的根本,共勉!


文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。


安能摧眉折腰事权贵,使我不得开心颜?
——《梦游天姥吟留别》


文章目录

  • MySQL入门操作命令汇总
    • 1. 数据库(create、show、drop、alter)
      • 1.1 登录数据库
      • 1.2 创建数据库(create)
      • 1.3 查看所有数据库(show)
      • 1.4 删除数据库(drop)
      • 1.5 更改数据库字符集(alter)
    • 2. 数据表(use、create、show、describe、drop、alter)
      • 2.1 使用数据库(use)
      • 2.2 创建数据表(create)
        • 整数类型
        • 浮点数类型
        • 字符串类型
        • 日期时间类型
        • 二进制类型
      • 2.3 查询数据表(show)
      • 2.4 查看表结构(describe)
      • 2.5 删除表(drop)
      • 2.6 修改数据表名(alter)
    • 3. 数据记录(insert、select、delete、update)
      • 3.1 添加数据(insert)
      • 3.2 查询数据(select)
        • 3.2.1 去重查询(distinct)
        • 3.2.2 模糊查询(like)
        • 3.2.3 限制查询结果集(limit)
        • 3.2.4 分组查询(group)
        • 3.2.5 分组统计(count)
        • 3.2.6 结果集过滤(having)
        • 3.2.7 结果集排序(order)
          • 3.2.7.1 单字段排序
          • 3.2.7.2 多字段排序
          • 3.2.7.3 限制排序
          • 3.2.7.4 限制排序并选择区间(暂时未测通)
      • 3.2 删除数据(delete)
      • 3.3 更新数据(update)
    • 4. 字段或者说表结构(show、select、alter、drop、modify、change)
      • 4.1 显示表中所有字段(列)
      • 4.2 显示表中所有数据
      • 4.3 添加字段(列)
      • 4.4 删除字段(列)
      • 4.5 修改字段类型
      • 4.6 修改字段名和类型
    • 5. 统计(sum、count、max、min、avg)
      • 5.1 sum求和
      • 5.2 count统计数量
      • 5.3 max最大值
      • 5.4 min最小值
      • 5.5 avg平均值


MySQL入门操作命令汇总

MySQL学习专栏
MySQL下载安装配置

时区修改
java使用jdbc导致时区问题,此时修改东八区
在mysql文件夹中找到my.ni文件
编辑器打开,在[mysqlId]下面添加一行

default-time_zone='+8:00'

然后重启mysql,打开任务管理器–服务–找到mysql,右键重新启动

1. 数据库(create、show、drop、alter)

1.1 登录数据库

mysql -u 账号 -p

回车后输入密码

密码不显示

1.2 创建数据库(create)

创建数据使用create语句
语法

create database 数据库名;

示例
如创建数据库test01

create database test01;

1.3 查看所有数据库(show)

查看数据库使用show语句

show databases;

1.4 删除数据库(drop)

删除数据库使用drop语句
语法

drop database 数据库名;

示例
如删除数据库test01

drop database test01;

1.5 更改数据库字符集(alter)

更改数据库的字符集,使用alter set进行设置
语法

alter database 数据库名 default character set 字符集名称;

示例
如将数据库test01的字符集修改为utf-8

alter database test01 default character set 'utf-8';

2. 数据表(use、create、show、describe、drop、alter)

2.1 使用数据库(use)

使用数据库表示接下来对数据库和表的操作都是在该数据库下进行
语法

use 数据库名;

在操作表之前需要先使用该命令选择数据库
示例
如使用数据库test01

use test01;

2.2 创建数据表(create)

创建数据表
语法

CREATE TABLE 表名 (字段1 数据类型 约束条件;字段2 数据类型 约束条件;
);

示例
如创建一个名为user的数据表,字段包含姓名年龄以及自增长的id

create table user(id int auto_increment not null comment "自增id",name varchar(255) not null default "" comment "姓名",age int not null default 0 comment "年龄",primary key (id)
);

拓展
关于mysql中常见的数据库表字段数据类型

整数类型

整数类型的内容如下表

数据类型描述
tinyint1字节,取值范围: -128~127
smallint2字节,取值范围:-32768~32767
mediumint3字节,取值范围:-8388608~8388607
int4字节,取值范围:-2147483648~2147483647
bigint8字节,取值范围:-9223372036854775808~9223372036854775807
浮点数类型

浮点数类型的内容如下表

数据类型描述
float(m,d)单精度浮点数,占用4个字节,m为总个数,d为小数位
double(m,d)双精度浮点数,占用8个字节,比FLOAT有更高的精度和更大的表示范围
decimal(m,d)精确数值类型,用于存储精确的雄安舒。可以指定精度和小数位数
字符串类型

字符串类型的内容如下表

数据类型描述
char固定长度的字符串,长度在创建时指定,不足指定长度时会用空格填充
varchar可变长度的字符串,长度在创建时指定,存储时只占用实际字符串长度的空间
text用于存储较长的文本数据,有TINYTEXT、TEXT、MEDIUMTEXT和LONGTEXT等不同的长度限制
日期时间类型

日期时间类型的内容如下表

数据类型描述
date用于存储日期,格式为YYYY-MM-DD
time用于存储时间,格式为HH:MM:SS
datetime用于存储日期和时间,格式为YYYY-MM-DD HH:MM:SS
timestamp用于存储日期和时间,范围比DATETIME小,从1970-01-01 00:00:01到2038-01-19 03:14:07,并且在插入或更新记录时,TIMESTAMP列会自动更新为当前时间
二进制类型

二进制类型的内容如下表

数据类型描述
binary固定长度的二进制数据,类似于CHAR
varbinary(M)可变长度的二进制数据,类似于VARCHAR
blob用于存储大量的二进制数据,有TINYBLOB、BLOB、MEDIUMBLOB和LONGBLOB等不同的长度限制

2.3 查询数据表(show)

展示当前数据库的所有表(使用use 数据库名语句来确认展示指定数据库中的表)
语法

show tables;

示例
如展示test01数据库下的所有表

use test01;
show tables;

2.4 查看表结构(describe)

查看数据表结构
语法

describe 表名;

示例
如查看users表的表结构

describe users;

2.5 删除表(drop)

删除数据表
语法

drop table 表名;

示例
如删除users表

drop table users;

2.6 修改数据表名(alter)

修改数据表的名称
语法

alter table 旧数据表名 rename 新数据表名;

示例
如修改users表的表名,修改为users_info

alter table users rename users_info;

3. 数据记录(insert、select、delete、update)

3.1 添加数据(insert)

添加数据,即添加表字段对应的值
添加一条数据
语法

insert into 表名 (字段1,字段2,字段3,字段4...) values (1,2,3,4...);

示例
如在表users中添加name和age字段的数据

insert into users (name, age) value ("libai", 18);

插入多条数据
语法

insert into 表名 (字段1,字段2,字段3,字段4...) values (11,12,13,14...), (21,22,23,24...);

示例
如在表users中添加两条数据

insert into users (name, age) values ("格鲁特", 19), ("灭霸", 30);

3.2 查询数据(select)

查询使用select语句
可查询全部数据(*表示查询所有列的数据)
语法

select * from 表名;

示例
如查询users表的所有数据

select * from users;

查询满足条件的指定的字段的数据
语法

select 字段1,字段2,字段3... from 表名 where 条件;

示例
如查询users表中满足age值为18的name和age字段的数据

select name, age from users where age = 18;
3.2.1 去重查询(distinct)

指定字段去重(distinct)
语法

select distinct 字段名 from 数据表名;

示例
如去重查询users表中name字段的数据

select distinct name from users;
3.2.2 模糊查询(like)

like模糊查询(%表示通配符)
语法

select * from 表名 where 字段名 like '匹配内容的前缀%';

示例
如查询表名为users
字段名为name
以李开头的数据

select * from users where name like '李%';
3.2.3 限制查询结果集(limit)

对查询结果限制输出
语法

select * from users limit 需要保留的数据量的值;

示例
如查询users表中的数据,保留前十条展示

select * from users limit 10;
3.2.4 分组查询(group)

根据表中字段A进行查询结果分组
语法

select 字段A from 表名 group by 字段A;

示例
如查询users表中的数据按用户年龄分组

select age from users group by age;
3.2.5 分组统计(count)

根据表字段分组统计满足条件的数据,其中count中的字段名也可以是*表示统计所有字段
语法1

select 字段名,count(字段名或者自定义) from 表名 group by 字段名;

这样写可能不是很明确,可以如下,根据字段名分组,分组的后的数量起个别名进行展示
语法2

select 字段名, count(字段名) as num from 表名 group by 字段名;

其中括号中的字段名可自定义内容,当使用as设置别名时count(*)部分不会展示
语法3

select 字段名, count(*) as num from 表名 group by 字段名;

示例
如将用户表根据性别分组统计

select gender, count(*) as num from users group by gender;
3.2.6 结果集过滤(having)

根据字段名分组并过滤
语法

select 字段名, count(字段名) as result from 表名 group by 字段名 having 条件;

示例
如统计users表中性别为男的数据

select gender,count(*) as 同性别的人数 from users group by gender having gender = "男"; 
3.2.7 结果集排序(order)
3.2.7.1 单字段排序

根据某个字段升序或者降序排序所查询的数据
排序关键字:
asc 升序排序(默认)
desc 降序排序

语法

select 字段名 from 表名 order by 字段名 排序关键字;

示例
如查询users表所有数据,按照age字段升序排序

select * from users order by age asc;
3.2.7.2 多字段排序

根据多个字段升序或者降序排序所查询的数据
语法

select 字段名 from 表名 order by 字段名1 排序关键字, 字段名2 排序关键字;

示例
如查询users表数据,先按照age字段升序排序,(如果有age相同的数据)再按name字段降序排序

select * from users order by age asc, name desc;
3.2.7.3 限制排序

将查询的数据排序后限制数量展示
语法

select 字段名 from 表名 order by 字段名 排序关键字 limit 数量;

示例
如查看users表数据,根据age字段升序排序,输出前两条数据

select * from users order by age asc limit 2;
3.2.7.4 限制排序并选择区间(暂时未测通)

将查询的结果排序后限制数量,并选择区间来展示
语法

select 字段名 from 表名 order by 字段名 排序关键字 limit 偏移量 数量;

示例
如查询users表数据,根据age字段升序排序,从第三条数据后面(不包含第三条数据)取3条数据展示

select * from users order by age asc limit 3 3;

3.2 删除数据(delete)

使用delete删除数据
语法

delete from 表名 where 条件;

示例
如删除users表中name="杜甫"的数据

delete from users where name="杜甫";

3.3 更新数据(update)

使用update更新表数据
语法

update 表名 set 字段名=字段值 where 条件;

可以同时更新多个字段的值
语法2

update 表名 set 字段名1=字段值1, 字段名2=字段值2 where 条件;

示例
如更新users表中name="西施"的数据,将其age值改为16

update users set age=16 where name="西施";

4. 字段或者说表结构(show、select、alter、drop、modify、change)

4.1 显示表中所有字段(列)

使用show columns展示表中的所有字段
语法

show columns from 表名;

示例
如展示users表的所有字段数据

show columns from users;

4.2 显示表中所有数据

在添加、修改或删除字段之前可以先查看表数据
语法

select * from 表名;

4.3 添加字段(列)

通过alter和add添加新的表字段
语法

alter table 表名 add 字段 类型;

示例1
如在users表中添加height身高字段,类型为int

alter table users add height int;

示例2
再如添加addr地址字段,类型为varchar,大小为255

alter table users add addr varchar(255);

示例3
添加字段后该字段的值会变成NULL
如果想使用默认值可以使用default定义默认值
如下

alter table users add addr varchar(255) default "上海";

4.4 删除字段(列)

使用alter和drop删除
语法

alter table 表名 drop column 字段;

示例
如删除users表中height字段

alter table users drop column height;

4.5 修改字段类型

使用modify修改表字段
语法

alter table 表名 modify 字段名 类型;

示例
如修改users表中addr字段类型,由varchar改为text

alter table users modify addr text;

4.6 修改字段名和类型

使用change修改表字段名(这里需要注意,修改字段名时必须带上新字段的数据类型)
语法

alter table 表名 change 原字段名 新字段名 类型;

示例
如修改users表中addr字段,将其改为address,类型修改为varchar(255)

alter table users change addr address varchar(255);

如果想要只改名称,不改数据类型,则需要将原来的数据类型加上即可

5. 统计(sum、count、max、min、avg)

常用统计函数如下

5.1 sum求和

使用sum来获取某个字段统计的总和
语法

select sum(字段名) as 别名 from 表名;

示例
如统计users表中age字段的总和,将统计的总数使用别名allage表示

select sum(age) as allage from users;

5.2 count统计数量

使用count统计某个字段对应的数据条数
语法

select count(字段名或者*) as 别名 from 表名;

示例
如统计表中name的数据数量,别名为nameCount

select count(name) as nameCount from users;

以下name换成*结果相同

select count(*) as nameCount from users;

5.3 max最大值

使用max获取表中字段最大值
语法

select max(字段名) as 别名 from 表名;

示例
如获取users表中age最大的值

select max(age) as ageMax from users;

5.4 min最小值

使用min获取表中字段最小值
语法

select min(字段名) as 别名 from 表名;

示例
如获取users表中age最小的值

select min(age) as ageMin from users;

5.5 avg平均值

使用avg获取表中字段的平均值
语法

select avg(字段名) as 别名 from 表名;

示例
如获取users表中age字段的平均值

select avg(age) as ageAvg from users;

感谢阅读,祝君暴富!


版权声明:

  • 作者:寒山李白
  • 博客地址:https://hanshan.blog.csdn.net/
  • 版权:本作品采用《创作共享许可证》进行许可,根据该许可授权的内容可在符合本许可证条款的前提下自由使用、、修改和创作衍生作品。

版权许可介绍:
本文采用CC BY-NC-SA许可证
此许可允许在使用者仅出于非商业目的以任何媒体或格式分发、重新混合、改编和构建材料,并且前提是注明创作者。如果您重新混合、改编或基于该材料进行构建,则必须按照相同的条款对修改后的材料进行许可。

更多信息请访问以下网址查看:
版权官网 https://creativecommons.org/licenses/by-nc-sa/4.0/
中文翻译 https://creativecommons.org/licenses/by-nc-sa/4.0/deed.zh-hans


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/7535.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Git进阶笔记系列(01)Git核心架构原理 | 常用命令实战集合

读书笔记:卓越强迫症强大恐惧症,在亲子家庭、职场关系里尤其是纵向关系模型里,这两种状态很容易无缝衔接。尤其父母对子女、领导对下属,都有望子成龙、强将无弱兵的期望,然而在你的面前,他们才是永远强大的…

基于模糊PID的孵化箱温度控制系统(论文+源码)

1系统方案设计 本课题为基于模糊PID的孵化箱温度控制系统,其以STM32最小系统与模糊PID控制器为控制核心。系统主要包括数据采集模块、处理器模块、电机控制模块。 数据采集模块由温度传感器构成,通过温度传感器感应温度变化,获得待处理的数据…

Arcgis国产化替代:Bigemap Pro正式发布

在数字化时代,数据如同新时代的石油,蕴含着巨大的价值。从商业决策到科研探索,从城市规划到环境监测,海量数据的高效处理、精准分析与直观可视化,已成为各行业突破发展瓶颈、实现转型升级的关键所在。历经十年精心打磨…

ThreeJS示例教程200+【目录】

Three.js 是一个强大的 JavaScript 库,旨在简化在网页上创建和展示3D图形的过程。它基于 WebGL 技术,但提供了比直接使用 WebGL 更易于使用的API,使得开发者无需深入了解 WebGL 的复杂细节就能创建出高质量的3D内容。 由于目前内容还不多,下面的内容暂时做一个占位。 文章目…

opengrok_使用技巧

Searchhttps://xrefandroid.com/android-15.0.0_r1/https://xrefandroid.com/android-15.0.0_r1/ 选择搜索的目录(工程) 手动在下拉框中选择,或者 使用下面三个快捷按钮进行选择或者取消选择。 输入搜索的条件 搜索域说明 域 fullSearc…

无人机如何自主侦察?UEAVAD:基于视觉的无人机主动目标探测与导航数据集

作者:Xinhua Jiang, Tianpeng Liu, Li Liu, Zhen Liu, and Yongxiang Liu 单位:国防科技大学电子科学学院 论文标题:UEVAVD: A Dataset for Developing UAV’s Eye View Active Object Detection 论文链接:https://arxiv.org/p…

【图文详解】lnmp架构搭建Discuz论坛

安装部署LNMP 系统及软件版本信息 软件名称版本nginx1.24.0mysql5.7.41php5.6.27安装nginx 我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客: 关闭防火墙 systemctl stop firewalld &&a…

Ansible入门学习之基础元素介绍

一、Ansible目录结构介绍 1.通过rpm -ql ansible获取ansible所有文件存放的目录 有配置文件目录 /etc/ansible/ 执行文件目录 /usr/bin/ 其中 /etc/ansible/ 该文件目录的主要功能是 inventory主机信息配置,ansible工具功能配置。 ansible自身的配置文件…

git Bash通过SSH key 登录github的详细步骤

1 问题 通过在windows 终端中的通过git登录github 不再是通过密码登录了,需要本地生成一个密钥,配置到gihub中才能使用 2 步骤 (1)首先配置用户名和邮箱 git config --global user.name "用户名"git config --global…

矩阵的秩在机器学习中具有广泛的应用

矩阵的秩在机器学习中具有广泛的应用,主要体现在以下几个方面: 一、数据降维与特征提取 主成分分析(PCA): PCA是一种常用的数据降维技术,它通过寻找数据中的主成分(即最大方差方向&#xff09…

Windows Defender添加排除项无权限的解决方法

目录 起因Windows Defender添加排除项无权限通过管理员终端添加排除项管理员身份运行打开PowerShell添加/移除排除项的命令 起因 博主在打软件补丁时,遇到 Windows Defender 一直拦截并删除文件,而在 Windows Defender 中无权限访问排除项。尝试通过管理…

IDEA工具下载、配置和Tomcat配置

1. IDEA工具下载、配置 1.1. IDEA工具下载 1.1.1. 下载方式一 官方地址下载 1.1.2. 下载方式二 官方地址下载:https://www.jetbrains.com/idea/ 1.1.3. 注册账户 官网地址:https://account.jetbrains.com/login 1.1.4. JetBrains官方账号注册…

计算机网络之应用层

本文章目录结构出自于《王道计算机考研 计算机网络_哔哩哔哩_bilibili》 05 应用层 在网上看到其他人做了相关笔记,就不再多余写了,直接参考着学习吧。 王道考研 计算机网络笔记 第六章:应用层_王道考研 应用层 笔记-CSDN博客 DNS&#x…

微信小程序date picker的一些说明

微信小程序的picker是一个功能强大的组件&#xff0c;它可以是一个普通选择器&#xff0c;也可以是多项选择器&#xff0c;也可以是时间、日期、省市区选择器。 官方文档在这里 这里讲一下date picker的用法。 <view class"section"><view class"se…

Pyecharts图表交互功能提升

在数据可视化中&#xff0c;交互功能可以极大地提升用户体验&#xff0c;让用户能够更加深入地探索数据。Pyecharts 提供了多种强大的交互功能&#xff0c;本篇将重点介绍如何使用缩略轴组件、配置图例交互&#xff0c;让我们的数据可视化作品更加生动有趣。 一、缩略轴组件使…

奇怪的单词(快速扩张200个单词)

这是一些非常奇怪的单词&#xff1a; screw n.螺丝&#xff1b;螺丝钉 screwdriver n.起子&#xff0c;螺丝刀&#xff0c;改锥 copulation n.连接 copulate a.配合的 bonk n.撞击&#xff1b;猛击 v.轻击&#xff1b;碰撞ebony n.黑檀couple n.夫妇blonde n.金发女郎intimacy…

Ubuntu20.04 深度学习环境配置(持续完善)

文章目录 常用的一些命令安装 Anaconda创建conda虚拟环境查看虚拟环境大小 安装显卡驱动安装CUDA安装cuDNN官方仓库安装 cuDNN安装 cuDNN 库验证 cuDNN 安装确认 CUDA 和 cuDNN 是否匹配&#xff1a; TensorRT下载 TensorRT安装 TensorRT 本地仓库配置 GPG 签名密钥安装 Tensor…

Android多语言开发自动化生成工具

在做 Android 开发的过程中&#xff0c;经常会遇到多语言开发的场景&#xff0c;尤其在车载项目中&#xff0c;多语言开发更为常见。对应多语言开发&#xff0c;通常都是在中文版本的基础上开发其他国家语言&#xff0c;这里我们会拿到中-外语言对照表&#xff0c;这里的工作难…

数据结构——堆(C语言)

基本概念&#xff1a; 1、完全二叉树&#xff1a;若二叉树的深度为h&#xff0c;则除第h层外&#xff0c;其他层的结点全部达到最大值&#xff0c;且第h层的所有结点都集中在左子树。 2、满二叉树&#xff1a;满二叉树是一种特殊的的完全二叉树&#xff0c;所有层的结点都是最…

const的用法

文章目录 一、C和C中const修饰变量的区别二、const和一级指针的结合const修饰的量常出现的错误是:const和一级指针的结合总结&#xff1a;const和指针的类型转换公式 三、const和二级指针的结合 一、C和C中const修饰变量的区别 C中&#xff1a;const必须初始化&#xff0c;叫常…