文章目录

  • 服务的启动和停止
  • 数据库的相关操作
  • 数据库表的相关操作
  • 表中数据的相关操作
  • 排序和分页
  • 分组查询
  • 联表查询

服务的启动和停止

停止数据库服务,在DOS下以管理员身份运行

net stop mysql

开启数据库服务,在DOS下以管理员身份运行

net start mysql

数据库的相关操作

连接数据库

mysql -uroot -p #回车输入密码即可

修改密码,把你自己的密码填到最后一个单引号内即可

alter user 'root'@'localhost' identified by 'root';

创建数据库

create database 数据库名;

创建数据库,判断不存在再创建

create database if not exists 数据库名;

显示所有数据库,其中四个是默认的

show databases;

使用数据库

use 数据库名;

删除数据库

drop database 数据库名;

删除数据库,判断存在再删除

drop database if exists 数据库名;

数据库表的相关操作

创建数据库表

create table 表名 (列名1 数据类型1,列名2 数据类型2,...列名n 数据类型n,primary key 列名(主键));

查看数据库中所有表

show tables;

查看数据库表结构

desc 表名;

删除表

drop table 表名;

修改数据库表名

alter table 表名 rename to 新表名;

添加列

alter table 表名 add 列名 数据类型;

删除列

alter table 表名 drop 列名;

表中数据的相关操作

添加数据

insert into 表名(列名1,列名2,...列名n) values(值1,值2,...值n); #列名和值要相对应。
insert into 表名 values(值1,值2,...值n); #这里的值要包含表里的所有列。

删除数据

delete from 表名 where 条件; #删除满足条件的数据。
delete from 表名; #如果不写条件,则默认删除表里的所有数据。

修改数据

update 表名 set 列名1 = 值1, 列名2 = 值2,... where 条件; #这里是修改满足条件的数据。
update 表名 set 列名1 = 值1, 列名2 = 值2,...; #如果是不加条件,则修改所有的数据。

查询数据

select 列名 from 表名 #查询某列的数据。
select * from 表名 #查询所有列的数据。
select distinct 列名 from 表名 #查询去重后的数据。

条件语句(where)
为了演示的方便,这里查询出来的结果都用 * 来代替。

查询同时满足条件1和条件2的数据。

select * from 表名 where 条件1 and 条件2

查询满足条件1或条件2的数据。

select * from 表名 where 条件1 or 条件2

查询不满足条件1的数据。

select * from 表名 where not 条件1


查询某列为空的数据。

select * from 表名 where 列名 is null;

查询某列非空的数据。

select * from 表名 where 列名 is not null;

查询某列在值1和值2之间的数据。

select * from 表名 where 列名 between 值1 and 值2;

查询所有以hello开头的数据,like结合%使用,其中%代表0到任意个字符。

select * from 表名 where 列名 like 'hello%';

查询所有以hello开头并且后面只跟一个字符的数据,like结合_使用,_代表1个字符。

select * from 表名 where 列名 like 'hello_';

查询某列在某区域内的数据。

select * from 表名 where 列名in (值1,值2,...);

排序和分页

排序关键词是order by,其默认是升序,如果想要降序,只需加上desc,其语法就是order by后面加上要排序的字段。

通过该列进行升序排序。

select * from 表名 order by 列名;

通过该列进行降序排序。

select * from 表名 order by 列名 desc;

查询索引从offset(第一个数据索引是0)开始,每页显示pagesize个元素。

select * from 表名 limit offset,pagesize;

查询出的用户表数据,从第1个用户开始显示,每页显示10个。

select* from user limit 0,10;

查询出的用户表数据,从第10个用户开始显示,每页显示10个。

select* from user limit 10,10;
  • 第一页 0,10
  • 第二页 10,10
  • 第三页 20,10
  • 第n页 (n-1) * 10,10

分组查询

分组查询的关键字是group by,还可以与聚合函数(count(),sum(),max()等)搭配使用,下面通过一个user表进行演示。

select 字段名 from 表名 group by 字段名
select 字段名 count(字段名) from 表名 group by 字段名

select user_type from user group by user_type;

select user_type,count(user_type) from user group by user_type;

联表查询

联表查询的关键字是join,如果需要判断条件的话是join on(on后面加判断条件),这两个一般是成对出现的,这里以两个表的连接进行讲解,首先给出两个表,分别是student学生表和result成绩表。


首先我们进行讲解内连接(inner join也叫join),也是最常用的一种联表查询,所谓inner join,也就是当我们查询学生的姓名和成绩时,我们需要用到student学生表和result成绩表,而inner join查出的结果就是,学生表中有该学生而且成绩表中对应的有该学生的成绩,满足这一条件的会被查出来。

下面进行演示查询学生的姓名和成绩,我们会看到,姓名和成绩都是相对应的,没有出现学生没成绩,也没有出现成绩没学生。

外连接包括左外连接和右外连接,也称为左连接和右连接。所谓的左连接(left join),也就是在内连接的基础上,又把左表中所有的信息打印出来了。

还是以查询学生姓名和成绩为例,左连接会把没有成绩的姓名打印出来(前提是student表在前,也就是在左),下面进行演示。

右连接(right join)跟左连接差不多,就是在内连接的基础上把右边表的信息打印出来了。

还是以查询学生姓名和成绩为例,右连接会把没有姓名的成绩打印出来(前提是result表在后,也就是在右),下面进行演示。

今天的分享就到这里了,有情怀有干货,“贺贺学编程”专注于讲解Java后端、面试题、数据结构、算法、数据库、Linux等编程知识,期待你的关注。

值得收藏的数据库基础总结!相关推荐

  1. 值得收藏的Redis基础总结

    文章目录 Redis简介 Redis常用命令 Redis五大数据类型 String Hash List Set ZSet 缓存雪崩.缓存穿透.缓存预热.缓存更新.缓存降级 Redis简介 Redis( ...

  2. oracle使用 union all 用自增序列_值得收藏的Oracle数据库性能优化

    值得收藏的Oracle数据库性能优化 年尾了,新的一波面试军又要开始了,被问到最多的可能就是性能优化,尤其是数据库性能优化,这个面试题不管是初中高级工程师都会被问到.因此我觉得下面31点ORACLE优 ...

  3. Shell最最基础教程【案例讲解】【值得收藏系列】

    Shell基础教程[案例讲解] 第1章 Shell概述 第2章 Shell解析器 第3章 Shell脚本入门 1.脚本格式 2.第一个Shell脚本:helloworld 3.第二个Shell脚本:多 ...

  4. IT行业最全的服务器硬件基础知识大全,值得收藏

    IT行业最全的服务器硬件基础知识大全,值得收藏! 服务器对每个从事IT工作的人来说并不陌生,但是服务器所涉及的各种知识细节,并非大家都十分清楚,为了让大家深入了解服务器的关键知识点: 按照服务器体系架 ...

  5. 关系型数据库设计要领(值得收藏)

    欢迎关注方志朋的博客,回复"666"获面试宝典 摘要 本文讨论关系数据库设计相关的一些内容,涉及关系模型,表结构设计等内容,以学生选修课程讲述设计过程,在尽量讲清楚设计要领的前提下 ...

  6. 机器学习项目汇总,值得收藏!

    本文为你介绍23个经典的机器学习项目,值得收藏. 我们都知道,教科书上所学与实际操作还是有出入的,那关于机器学习有什么好的项目可以实操吗? 我为此撰写这篇文章,在本文中,涵盖面向初学者,中级专家和专家 ...

  7. 会计未来十年发展趋势_CFO眼中未来十年财务变化【值得收藏】

    原标题:CFO眼中未来十年财务变化[值得收藏] 导读:四大RPA财务机器人刷爆朋友圈,公众人物出来说财务将被取代,那么财务人未来十年的职业方向到底路在何方? 随着前一段四大 RPA 财务机器人爆刷朋友 ...

  8. centos7中ps显示的内容_值得收藏,史上最全Linux ps命令详解

    原标题:值得收藏,史上最全Linux ps命令详解 一.程序员的疑惑 大概在十多年前,我当时还是一个产品经理.由于一些工作的原因,需要向运维工程师学习一些linux常用命令. 当使用linux ps这 ...

  9. cad指北针lisp_房建工程施工图常用符号及图例(值得收藏)

    房建工程施工图常用符号及图例(值得收藏) 房屋的建造一般需经设计和施工两个过程,设计工作又分为初步设计和施工图设计阶段.但对一些技术上复杂而又缺乏设计经验的工程,还应在初步设计基础上增加技术设计(或称 ...

最新文章

  1. 视学算法第六轮送书活动,16本高质量书免费拿走!
  2. Web性能测试需监控的IIS性能指标
  3. 一款WP小游戏代码分享
  4. 【原】TreeView+Checkbox级联操作(IE/FireFox测试通过)
  5. ObjectDataSourc用法之三(排序)
  6. java stringbuilder清空_Java中StringBuilder的清空方法比较
  7. linux python开发identifier,python程序设计 浙大版
  8. centos6.5远程桌面连接(VNC\SPice)
  9. Illustrator 教程,如何在 Illustrator 中描摹对象?
  10. Drool7s 什么叫KIE和生命周期-系列03课
  11. 视频、网络传输速率科普
  12. 模电笔记快速整理之《模拟电子技术基础(第四版)》上海交大网课版 1-2章
  13. 推导飞机飞行动力学方程组
  14. 北京大学灵异事件计算机房,北大 清华高校 发生的真实恐怖灵异事件
  15. python你好代码-再见,Python。你好,Go语言。
  16. Web APIs 简介
  17. lssvr matlab,lssvm(最小二乘支持向量机)matlab
  18. Collections详解
  19. 图文详解:K8S太火了!花10分钟玩转它不香么
  20. MySQL输入密码后闪退,这里有解

热门文章

  1. yum配置(源配置-光驱,ftp服务器;基本用法)
  2. 查询数据时给列起别名的三种方法
  3. EChart绘制风速风向曲线分析图
  4. redux相关学习资源
  5. 4月8日--关于Date的练习题--自定义获取当前时间
  6. 通用easyui查询页面组件
  7. cmd命令窗口mysql查询表数据命令行_cmd 命令行模式操作数据库 添加查询 修改 删除 ( 表 字段 数据)...
  8. 06-04 Jenkins 权限控制
  9. 01-02 Linux常用命令-文件处理
  10. java数组循环动态赋值_04、Java基础语法(循环嵌套、break、continue、方法、方法的重载、数组动态初始化)...