手把手教你进行Mysql查询操作

大家好,我是IT共享者,人称皮皮。今天给大家讲讲MySQL中的查询操作。

前言

我们在以前,大概学了一下如何通过命令创建数据库,创建表等基本操作。

但是实际上啊,至少在我的实际工作中,用到的不是太多,了解就可以。

因为我们可以通过一些可视化软件,像Navicat for MySQL等。

可以很方便的帮助我们创建数据库,创建表,修改表等操作。

Navicat for MySQL简单示例

创建数据库

使用Navicat for MySQL连接好一个Mysql服务之后。

  1. 右击–> 新建数据库

  1. 选择新建数据库信息字符集一定要选择utf8mb4 — UTF-8 Unicode,这个表示支持存储Emoji表情。排序规则一定要选择utf8mb4_general_ci。至于为什么,我也不知道…,原谅我是个码农吧。

就这样,一个数据库创建完成了,是不是很轻松。

创建表

  1. 右击表–> 新建表

  1. 制定表结构
  2. 保存表(Ctrl+s)

设计表

在实际中,我们常常会更改表结构,也叫设计表

  1. 右击表–>设计表
  2. 修改表

3.保存即修改

查询

上述主要复现了一下如何通过可视化软件操作数据库,确实会比直接命令方便很多很多。

但是查询这个操作,那可视化软件就真的无能为力了。

毕竟我们不管是封装在后台还是自己的软件中。

都是要使用原生SQL的,这个是无法避免的,并且原生SQL查询是最灵活的!!!

终于迎来了最最最重要的环节,学习原生sql。

需求分析

假设我们现在要做一个学生管理系统,所以首先确定,会有一个学生表,用于存放学生的信息,像姓名了,年龄了,性别了,等。

然后想了又想,学生肯定要属于哪个班级的,张三是一班的,李四是二班的,等。

所以我们可能就会有两张表了,一个是学生信息表,一个是班级表,然后学生属于哪个班级。

就像小时候戴的学生胸牌一样,姓名:xxx,班级:xxx等。

想了想,我觉得表结构大概如下

表结构图

表结构图.xlsx

表结构代码

school_test.sql

应该通过这两张表,基本可以把我们的sql语法,学的差不多,一起来看看叭。

查询(select)

既然表里面有这么多数据,那就需要查询了,首先是。

查询所有

sql

-- 语法
SELECT * from <表名>;
-- 例如,查询学生表
SELECT * from student;

执行结果

where条件查询

但是有时候,我们可能需要查询带有一些条件的,比如id=1的,或者name=张三的等。

这时候就需要用到where。

sql

-- 语法
SELECT * from <表名> where <条件>;
-- 例如,查询id=1的数据
SELECT * from student where id=1;

执行结果

这样,我们就把id=1的数据查找出来了。

同理,还可以写其他条件。

查询性别为男的(gender=男)

SELECT * from student where gender="男";

执行结果

这样,就把gender=男的都查出来了。

where多个条件查询(and)

假设现在表内容如下。

有俩琪琪,一个是男琪琪,一个是女琪琪,那我们查的时候,肯定要区分是男的还是女的琪琪了。

所以这时候需要where多个条件了。

and的意思是查询满足所有条件的数据。

sql

-- 语法
SELECT * from student where <条件> and <条件> ...;
-- 例如,查询男琪琪
SELECT * from student where name="琪琪" and gender="男";

执行结果

这样,通过多个条件就卡住了更精准的数据。

select 选择列

在上面使用时,我们使用的都是select * from <表名>。

假设我们的数据如下

select *就表示,选择所有列

结果如下

如果是select id,name age,表示选择指定列

结果如下

select还能给列起别名

例如

SELECT id,name as "姓名",age from student;

执行结果

总结

本章主要讲述了如何使用Navicat for MySQL新建数据库,新建表,设计表等简单操作。

后续又根据实际需求设计出简单的学生表班级表,并且简单是使用了select查询。

后来又讲解select *和select 列1,列2的区别。

如果在操作过程中有任何问题,记得下面留言,我们看到会第一时间解决问题。

敬往事一杯酒,自此不再回头。

我是码农星期八,如果觉得还不错,记得动手点赞一下哈。感谢你的观看。

如果在操作过程中有任何问题,记得下面留言,我们看到会第一时间解决问题。

干货|Sqlite数据库知识必知必会(上篇)

大家好,我是IT共享者,人称皮皮。

前面几天给大家分享了MySQL数据库知识,没来得及看的小伙伴可以前往:Mysql查询语句进阶知识集锦,一篇文章教会你进行Mysql数据库和数据表的基本操作,关于数据库的安装可以参考:手把手教你进行Mysql5.x版本的安装及解决安装过程中的bug,今天皮皮继续给大家分享数据库知识,但是换了一个主角,它就是Sqlite。

前言

前面我们学习了很多数据库,虽然它们功能非常丰富,但是占用空间比较大,使得我们的系统负荷变大,这对于我们新手小白来说不是一个理想的选择,于是乎,Sqlite闪亮登场,它受人喜爱的真正原因正是因为它足够小,无需安装和管理配置,简单容易上手,支持数据库的大小也有2TB,足够我们个人开发爱好者使用了。

一、安装

既然要学Sqlite,首先我们先安装它们,前面我们说过,安装它们无需太多过程,即免安装,下载地址:

https://u062.com/dir/7715018-39794633-fbf2ca

我们下载好后直接将Sqlite的应用程序加入到环境变量中即可随意使用了,打开CMD,看到这种字样,表示安装成功,如图:

二、图形化界面管理

Sqlite已经安装上了,但是在命令提示符窗口操作总感觉不美观,小编想这时候应该需要一个图形界面工具来操纵Sqlite,这样就能更直观的显示数据了,这里我推荐SqliteAdmin,中文版的界面再加上简洁的界面设计,如图:

注意,此时的软件还无法正常工作,因为它还没有可以解析Sqlite语句的动态链接库,所以你还需要下载个动态链接库,这里小编已经准备好了下载地址了,下载后直接复制到软件的目录即可,下载地址:

https://u062.com/file/7715018-452195159

三、基本语法

Sqlite不像其它的数据库以“;”结尾,而且它是以“.”开头使得式子成立的。打开我们的SqliteAdmin,下面开始我们的装逼之旅。

1.数据类型

Null         空值
SMALLLINT    短整型
INTEGER      带符号的整数 这个就是布尔类型 0(false)和 1(true)
TINYINT      长整型
REAL         浮点值
TEXT         大量文本字符串
BLOB         二进制对象       
NUMERIC      使用所有五个存储类的值
VARCHAR(n)   变动长度字符串,只能存英文,最多8000个字符
CHAR(n)      固定长度字符串
DATA         年月日
TIME         时分秒
DOUBLE       双精度浮点数
FLOAT        单精度浮点数
TIMESTAMP    存储年月日时分秒
NCHAR        存储Unicode数据类型的固长字符串 ,可存英文汉字,做多4000个字符
NVARCHAR 存储Unicode数据类型的变长字符串
NTEXT        存储Unicode数据类型的大量文本字符串
DATATIME     存储日期时间

其实它的数据类型远不止这些,更多的数据类型需要大家发掘,这里小编列举只是常用的数据类型罢了。

2.基本关键字

了解了数据类型,在创建数据库时用于操作时需要配套使用的关键字当然也必须得了解,这样才能提高开发效率。

AND   




BETWEEN  最小值和最大值之间




EXISTS 判断是否存在




IN  判断某个值是否属于另一个值




NOT IN 判断某个值是否不属于另一个值




LIKE 使用通配符比较值与另一个值 不区分大小写 %(表示零个,一个或者多个)  _(表示一个)




GLOB  使用通配符将值与类似值进行比较,并区分大小写的 *(表示零个或多个)     ?(表示一个)




LIMIT  限制满足条件的值的数量




ORDER BY 排序  ASC(升序) | DESC(降序)




GROUP BY  数据聚合




HAVING   过滤分组,使用前一定要使用GROUP BY




DISTINCT   消除所有重复记录






NOT  不,常和in一起用




OR   




IS NULL  判断是否等于空值,类型运算符




IS  相当于‘=’




IS NOT  判断是否不等于 相当于“!=”




UNIQUE    不重复


UNION     消除所有重复行


UNIONALL  不消除重复行


WHERE   用于满足某个条件时


SELECT  选择


FROM   来自


INSERT INTO 插入表数据


PRIMARY Key  主列


DEFAULT 默认值


CHECK 检查

3.数据库相关操作

1).创建数据库文件

首先我们要创建一个数据库文件,以“.db”结尾的文件,如下:

我们还可以在命令提示符里面创建数据库,如下所示:

这样就创建了一个”test”的数据库文件了,我们创建之后我们就进入了”test”数据库中了,然后就可以进行其它操作了。

2).查看数据库

.database   .databases 两者即可

3).退出数据库

.quit

4).导出数据库

sqlite3 test.db .dump > test.sql

5).创建附加数据库

ATTACH DATABASE 'test1.db' as 'test1';
ATTACH DATABASE 'test2.db' as 'test2';

上述操作是将所有数据库数据都存放在了数据库文件“test.db”中了,不过实际开发中不建议这么做,建议多做几个数据库,或者将数据库嵌入到其它数据库中。

6).显示附加数据库

.database   .databases 两者即可

7).分离数据库

DETACH DATABASE 'test1';

四、总结

这篇文章主要介绍了Sqlite数据库的安装、图形化管理系统、基本数据类型、基本关键字和数据库的相关操作,介绍了创建数据库、查看数据库、退出数据库、导出数据库、创建附加数据库、显示附加数据库和分离数据库的方法,干货多多。下一篇文章继续给大家分享Sqlite数据库的数据表、索引、视图、触发器和事务操作知识,敬请期待!