iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >MySQL语句最全详解
  • 896
分享到

MySQL语句最全详解

mysql数据库sql 2023-09-02 11:09:52 896人浏览 八月长安
摘要

文章目录 MySQL语句最全详解一、常见sql语句用法与演示前置条件连接命令 1.常用数据库类型2.数据约束(数据表中)3.数据库的备份和还原二、操作数据库(操作数据库之前要通过命令行工

文章目录

Mysql语句最全详解

一、常见sql语句用法与演示

前置条件

注释:--注释说明快捷注释键:ctrl +/
1、确定mysql数据库的ip地址:ifGonfig2、确认mysql数据库服务是否开启:netstat -anptu | grep 端口号

连接命令

mysql -h数据库ip -P端口号 -u数据库登录用户 -p数据库登录密码注:连本机无需写-h和-P

1.常用数据库类型

整型:int --有符号(有负数)无符号(整数)小数:decimal  例:decimal5,2--表示该字段可存5位数,2位小数字符串varchar  字母/中文/点  例:varchar3varchar'数学'

2.数据约束(数据表中)

主键(primary key):物理上存储的顺序非空(not null):此字段不允许填写空值唯一(unique):此字段的值不允许重复默认值(default):当不填写此值时会使用默认值,填写时以填写为准外键(foreign key):维护两个表之间的联系

3.数据库的备份和还原

备份:选中数据库  右键  转储SQL文件  结构和数据  存入电脑还原:选中数据库  右键  执行SQL文件  选择电脑中的备份sql文件  开始  选中表  刷新

二、操作数据库(操作数据库之前要通过命令行工具连接到数据库)

1.常见数据库操作命令

查看所有数据库:show databases;(少写了可以后面补)使用数据库:use数据库名;查看当前使用的数据库:select database();创建数据库:creat database 数据库名 charset=utf8;删除数据库:drop database 数据库名;

2.操作数据表

(操作数据表之前要先通过use打开对应的数据库)常见数据表操作命令:查看当前数据库所有的表:show tables;查看表结构:desc表名;查看表的创建语句:show creat table 表名;创建数据库表:格式:creat table 表名(         字段名1 类型 约束,字段名2 类型 约束,...            ...      ...);例:创建学生表,要求:年龄姓名(长度为10),年龄,身高(保留2位小数)creat table students(       id int unsigned primary key auto_increment,name varchar(20), age int unsigned,height decimal(5,2) ); 

3.删除数据库表

drop table 表名;                 注释:--注释说明drop table if exists 表名;                快捷注释键:ctrl +/

4.在数据表中添加一行/多行数据

格式如下: --英文逗号insert into 表名 values (...),(...) 例:(0,'小明',22,168insert into 表名 (字段1,字段2...values(值1,值2...)(值1,值2...

5.简单查询

select *from 表名;--(查询所有字段)

6.修改数据

格式:update 表名 set 字段名1=1,字段名2=2 ...where 条件例:修改id为5的学生数据,姓名改为小红,年龄改为20update students set name ='小红',age=20 where id =5

7.删除数据

delete from 表名 where 条件(物理删除,不用)例:delete from students where id=1; --删除第一行常用逻辑删除:通过设定一个字段来标识当前记录已经删除truncate table 表名--(只删数据)drop table 表名 --(删除所有数据和表结构)说明:delete --删除数据时,若新增数据,新增数据的id是删除的id号的后一个truncate --删除数据后,若新增数据,是从id=1开始的

8.数据查询

查询部分字段数据  格式:select 字段1,字段2...from 表名;

9.起别名

select 别名.字段1,别名.字段2...from 表名 as 别名--(表起别名)select 字段1 as 别名1,字段2 as 别名2...from 表名--(字段起别名)

10.去重

格式:select distinct 字段1...from 表名

11.条件查询

格式:select 字段1,字段2,...from 表名 where 条件;说明:where 支持多种运算符进行条件处理比较运算:=、>、>=、<、<=、!=逻辑运算:andornot模糊查询:关键字like、匹配任意多个字符%、 匹配一个任意字符:-范围查询:连续范围内between、非连续范围in空判断:判断为空is null、为非空is not null

比较运算

例:1、查询小豪年龄:select age from 表名 where name ='小豪';2、查询20岁以下学生:select *from 表名 where age <20;3、查询家乡不在新疆的学生:select * from 表名 where hometown !='新疆';

逻辑运算

 例 : 1、查询年龄小于20的女同学: select * from 表名 where age <20 and sex ='女';2、查询女学生或1班的学生:select * from 表名 where class=1班’ or sex ='女';3、查询非新疆的学生:select * from 表名 where not hometown='新疆';

模糊查询

例:  1、查询姓孙的学生:select * from 表名 where name like '孙%';2、查询姓孙且名字是一个字的学生: select * from 表名 where name like '孙_';3、查询姓名以乔结尾的学生: select * from 表名 where name like '%乔';4、查询姓名中包含白的学生: select * from 表名 where name like '%白%';

范围查询

例:  1、查询家乡是北京/南京/新疆的学生:select * from 表名 where hometown in ('北京','南京','新疆');2、查询年龄为18-20岁的学生:select * from 表名 where age between 18 and 20;

空判断

例:  1、查询没有填写身份证的学生:select * from 表名 where cad is null;2、查询填写了身份证的学生:select * from 表名 where cad is not null;

12.排序

格式:select * from 表名 order by 字段名1 ase/desc,字段名2 ase/desc,...;说明:ase:升序(默认可以不写)  desc:降序例:查询所有学生信息,按年龄从小到大排序,年龄相同时,再按学号从小到大排:select * from 表名 order by age,studentsNo;

13.分组和聚合

聚合函数作用:方便进行数据统计       --注!不能在where中使用!!!count()--查询总记录数  例:1、查询学生总数:select count(*from students;2、查询1班年龄小于18岁的同学有几个:select count(*from students where class='1班' and age<18;max(字段名):--查询最大值 例:查询女生的最大年龄:select max(age)from st where sex='女';min(字段名):--查询最小值  sum(字段名):--求和  avg(字段名):--求平均值  例:1、查询所有学生的最大年龄、最小年龄、平均年龄:select max(age),min(age),avg(age)from students;2、查询1班年龄小于18岁的同学有几个:select count(*from st where class='1班' and age<18;

14.分组查询

作用:按照字段分组,此字段相同的数据会放到同一个组中目的:使用聚合函数,对每一组的数据进行统计格式:select 字段1,字段2,聚合函数...from 表名 group by 字段1,字段2,...;例:1、查询各种性别的人数:select sex,count(*from st group by sex;2、查询每个班级中各种性别的人数:select class,sex,count(*from st group by class,sex;3、查询各个性别中的总人数、最大年龄、平均年龄:select sex,count(*,max(age),avg(age)from st group by class,sex;注!分组后再过滤不能用where,要用having  区别:1where是对from后面指定的表进行数据筛选,属于对原始数据的筛选2having是对group by的结果进行筛选3having后面的条件可以用聚合函数,where不能例:1、查询每个班级男生的总数:select class,sex,count(*from st group by class,sex having sex='男';2、查询所有班级中不同性别的记录数大于1的信息:select class,sex,count(*from st group by class,sex having count(*>1;

15.分页查询

作用:用来获取一部分的数据/用来分页格式:select * from 表名 limit start,count;说明:1、从start开始,获取count条数据  2start索引0开始例:1select * from 表名 limit 0,5;--从第1条到第5条2select * from 表名 limit 1,5;--从第2条到第6条(若总共4条,则从第2条到第4条)如何实现分页:select * from st limit(n-1*m,m; (分页公式)n:表示显示第几页的数据    m:表示每页显示多少条数据

16.连接查询

内连接:连接两个表时,取得是两个表中都存在的数据  格式:select * from1 inner join2 on1.1=2.2;select * from1 ,表2 where1.1=2.2;补充:写表名时可以改名,如students可以写成:students as stu,之后就可用stu代替表名(as可省略)例:1、查询学生信息及学生的课程对应的成绩:select * from students inner join scores on stu.studentNo=sco.studentsNoinner join courses on sco.courseNo=courses.courseNo;2、查询小豪的数据库成绩,要求显示姓名、课程号、成绩:select students.name,courses.name,scores.score from studentsstu inner join scoressco on stu.studentNo=sco.studentsN inner join courses on sco.courseNo=courses.courseNo where students.name='小豪';3、查询所有学生的数据库成绩,要求显示姓名、课程号、成绩:select students.name,courses.name,scores.score from students stu inner join scoressco on stu.studentNo=sco.studentsN inner join courses on sco.courseNo=courses.courseNo;4、查询男生中最高成绩,要求显示姓名、课程号、成绩:select students.name,courses.name,scores.score from students stu inner join scoressco on stu.studentNo=sco.studentsN inner join courses on sco.courseNo=courses.courseNo where students .sex='男' order by scores.score desc limit 0,1;

三、SQL语句书写顺序和执行顺序

1.书写顺序

select->distinct->from->join->on->where->group by->having->order by->limit

2.执行顺序

from->on->join->where->group by(开始使用select中的别名,后面的语句中都可以使用别名)->sum、count、max、avg->having->select->distinct->order by->limit

四、后续在更新进阶

来源地址:https://blog.csdn.net/xh365647/article/details/127399968

您可能感兴趣的文档:

--结束END--

本文标题: MySQL语句最全详解

本文链接: https://www.lsjlt.com/news/390623.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • MySQL语句最全详解
    文章目录 MySQL语句最全详解一、常见sql语句用法与演示前置条件连接命令 1.常用数据库类型2.数据约束(数据表中)3.数据库的备份和还原二、操作数据库(操作数据库之前要通过命令行工...
    99+
    2023-09-02
    mysql 数据库 sql
  • Mysql 最最最基本语句(大全)
    Mysql Workbench 基本语句 前言 SQL语言关键字不区分大小写,但不同的数据库,对于表名和列名,有的数据库区分大小写,有的数据库不区分大小写。 一、创建数据库 create data...
    99+
    2023-09-06
    mysql 数据库 sql
  • 最新MySQL高级SQL语句大全
    目录引言一、常用查询1、order by按关键字排序1.1 升序排序1.2 降序排序1.3 结合where进行条件过滤再排序1.4 多字段排序2、and/or判断2.1 and/or 且与或的使用2.2 嵌套、...
    99+
    2022-06-27
    mysql sql语句 mysql高级SQL语句
  • SQL语句大全(详解)
    SQL 前言1 DDL1.1 显示所包含的数据库1.2 创建数据库1.3 删除数据库1.4 使用数据库1.4.1 创建表1.4.2 查看表的结构1.4.3 查看当前数据库下的所有表1.4.4 ...
    99+
    2023-10-26
    sql 数据库 mysql
  • 【MySQL】load data语句详解(二)
    作者:罗小波 沃趣科技高级MySQL数据库工程师 ...
    99+
    2022-10-18
  • MYSQL语句大全
    列出的部分是Mssql语句,不可以在access中使用。 SQL分类: DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE) DML—数据操纵语言(SELECT,DELETE,...
    99+
    2022-10-18
  • MySQL数据库 | SQL语句详解
    MySQL数据库基本操作——DDL DDL解释: 数据库的常用操作 表结构的常用操作 修改表结构 数据库的常用操作 查看所有的数据库show databases;创建数据库create database if not exists 表名;切...
    99+
    2023-08-23
    数据库 sql mysql
  • 【MySQL】EXPLAIN 语句 各字段 详解
    EXPLAIN 语句 概貌 在连接查询的执行计划中: 每个表都会对应一条记录,这些记录的 id 列的值是相同的; 在包含子查询的执行计划中 :每个 select关键字都会对应一个唯...
    99+
    2023-10-27
    mysql 数据库
  • 详解mysql DML语句的使用
    前言: 在上篇文章中,主要为大家介绍的是DDL语句的用法,可能细心的同学已经发现了。本篇文章将主要聚焦于DML语句,为大家讲解表数据相关操作。 这里说明下DDL与DML语句的分类,可能有的同学还不太清楚。 DDL(...
    99+
    2022-05-28
    mysql dml mysql dml语句
  • 【MySQL】MySQL基本语句大全
    个人主页:【😊个人主页】 系列专栏:【❤️MySQL】 文章目录 前言结构化查询语句分类MySQL语句大全📚DDL(对数据库和表的操作)🤖DQL(查询语句)💻...
    99+
    2023-08-17
    mysql 数据库
  • MySQL单表查询语句详解(一)
    ...
    99+
    2014-06-24
    MySQL单表查询语句详解(一)
  • MySQL中的SQL标准语句详解
    目录前言对数据库的操作对表的操作表的创建表的插入表的修改表的删除表的查询条件查询前言 例如mysql中的LIMIT语句就是MySQL独有的方言,其它数据库都不支持!当然,oracle或SQL Server都有自己的方言。...
    99+
    2022-09-19
  • MySQL 查询语句大全
    目录 基础查询 直接查询 AS起别名 去重(复)查询 条件查询 算术运算符查询 逻辑运算符查询 正则表达式查询⭐ 模糊查询 范围查询 是否非空判断查询 排序查询  限制查询(分页查询) 随机查询 分组查询 HAVING 高级查询 子...
    99+
    2023-08-31
    mysql 数据库 sql
  • Mysql查询语句大全
    简单查询 ## 直接查询语法:select 字段 from 表名;举例:select name, age from student;解析:从 student 表中查询 name 与 age ## 条件查询语法:selec...
    99+
    2023-08-16
    mysql sql 数据库
  • MySQL基础教程之DML语句详解
    目录DML 语句1.插入记录2.更新记录3.简单查询记录4.删除记录5.查询记录详解(DQL语句)5.1.查询不重复的记录5.2.条件查询5.3.聚合查询5.4.排序查询5.5.li...
    99+
    2022-11-12
  • MySQL执行SQL语句的流程详解
    目录1、通常sql执行流程1.1 问题1:mysql谁去处理网络请求?1.2 问题2:MySQL如何执行sql语句?1.3 查询解析器1.4 查询优化器1.5 存储引擎1.6 执行器2、总结1、通常sql执行流程 用户...
    99+
    2022-09-25
  • MySQL中Replace语句用法实例详解
    目录前言一、replace into函数二、replace into 、insert ignore 和 insert into的区别三、replace函数总结前言 replace into平时在开发中很少用到,这次是因为...
    99+
    2022-08-08
    mysql的replace用法 mysql中replace mysql中replace语句
  • MySQL建表语句转PostgreSQL建表语句全纪录
    个人习惯用MySQL workbench EER数据建模,然后生成SQL语句到数据库中执行,这样表之间的关系比较直观。 像下面这样: 画图 正向工程,生成DDL语句: 忽略生成外键,以及外键...
    99+
    2022-10-18
  • mysql sql常用语句大全
    一 、常用操作数据库的命令 show databases; 查看所有的数据库 create database test; 创建一个叫test的数据库 drop database test;删除一个叫test的数...
    99+
    2022-06-18
    mysql sql常用语句 mysql sql语句
  • Mysql 常用 SQL 语句大全
    基础篇 //查询时间,友好提示 $sql = "select date_format(create_time, '%Y-%m-%d') as day from table_name"; //...
    99+
    2022-05-24
    mysql sql
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作