热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

关于数据库的一些别样风情_MySQL

数据库(Datebase,DB)技术是程序开发人员要掌握的一种技术,使用数据库可以高效且条理分明地存储数据,它使人们能够更加迅速和方便地管理数据,主要体现在:可以结构化存储大量的数据信息,方便用户有效的检索
数据库 (Datebase,DB) 技术是程序开发人员要掌握的一种技术,使用数据库可以高效且条理分明地存储数据,它使人们能够更加迅速和方便地管理数据,主要体现在:

>可以结构化存储大量的数据信息,方便用户有效的检索和访问。

>可以有效地保持数据信息的一致性、完整性,降低数据冗余。

>可以满足应用的共享和安全方面的要求。

>数据库技术能够方便智能化地分析,产生新的应用信息。

当今常用的数据库

SQL Serve

Oracle

DB2

MySQL

数据库的基本概念

(1)数据

数据(Data)是描述事物的符号记录。

数据:在计算机系统中,各种字母、数字符号的组合、语音、图形、图像等统称为数据,数据经过加工后就成为信息。

在计算机科学中,数据是指所有能输入到计算机并被计算机程序处理的符号的介质的总称,是用于输电子计算机进行处理,具有一定意义的数字、字母、符号和模拟量等的通称。

(2)数据库

数据库(Database, DB)是指长期存储在计算机内的、有组织的、可共享的数据集合。

数据库是一个单位或是一个应用领域的通用数据处理系统,他存储的是属于企业和事业部门、团体和个人的有关数据的集合。

数据库中的数据是从全局观点出发建立的,他按一定的数据模型进行组织、描述和存储。其结构基于数据间的自然联系,从而可提供一切必要的存取路径,且数据不再针对某一应用,而是面向全组织,具有整体的结构化特征。

数据库中的数据是为众多用户所共享其信息而建立的,已经摆脱了具体程序的限制和制约。不同的用户可以按各自的用法使用数据库中的数据;多个用户可以同时共享数据库中的数据资源,即不同的用户可以同时存取数据库中的同一个数据。数据共享性不仅满足了各用户对信息内容的要求,同时也满足了各用户之间信息通信的要求。

(3)数据库管理系统

数据库管理系统(Database Management System, DBMS)是数据库的机构,它是一个系统软件,负责数据库中的数据组织、数据操纵、数据维护、控制及保护和数据服务等。

数据库管理系统的主要类型有4种:文件管理系统,层次数据库系统,网状数据库系统和关系数据库系统,其中关系数据库系统的应用最为广泛。

数据库管理系统是一种操纵和管理数据库的大型软件,用于建立、使用和维护数据库。它对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。用户通过它访问数据库中的数据,数据库管理员也通过它进行数据库的维护工作。它可使多个应用程序和用户用不同的方法在同时或不同时刻去建立,修改和询问数据库。

DBMS提供数据定义语言DDL(Data Definition Language)与数据操作语言DML(Data Manipulation Language),供用户定义数据库的模式结构与权限约束,实现对数据的追加、删除等操作。

(4)数据库系统

数据库系统(Database System, DBS)是指引进数据库技术后的整个计算机系统,能够实现有组织地、动态地存储大量相关数据,提供数据处理和信息资源共享的便利手段。

数据库系统由数据库(数据)、数据库管理系统(软件)、计算机硬件、操作系统及数据库管理员组成。

小提示:

在数据库系统、数据库管理系统和数据库三者之中,数据库管理系统是数据库系统的组成部分,数据库又是数据库管理系统的管理对象,因此可以说数据库系统包括数据库管理系统,数据库管理系统包括数据库。

数据库的语言:SQL语言(当前)

SQL的组成: DML:用来插入、修改和删除数据库的数据

       DDL:用来建立数据库、数据库对象和定义其列,大部分以CREATE开头命令

       DQL:用来对数据库中的数据进行查询

       DCL:用来控制数据库组件的存取许可、存取权限等

数据库中的运算符:+ - * / %

数据库中的赋值运算符 : =

数据库中的比较运算符: = > <<>(不等于) >= <= !=(不等于)

数据库中的逻辑运算符: AND 当且仅当两个布尔表达式为TRUE时,返回TRUE

            OR 当且仅当两个布尔表达式都为FALSE,返回FALSE

            NOT 对布尔表达式的值取反,优先级别最高

言归正传,使用SQL插入数据

语法:

1 INSERT  [INTO]  表名  [(列名列表)]  VALUES(值列表)

一次插入多行数据:

(1)通过INSERT SELECT语句向表中添加数据

(2)通过SELECT INTO语句将现有表中的数据添加到新表中

语法:

SELECT  IDENTITY(数据类型,表示种子,标识增长量)  AS  列明

  INTO   列表

  FROM  原始表

(3)通过UNIO关键字合并数据进行插入

使用SQL更新数据

语法:

UPDATE  表名  SET  列名  =  更新值  [WHERE  更新值]

使用SQL删除数据(小编劝大家尽量不要使用)

语法:

DELETE  [FROM]  表名  [WHERE  <删除条件>]

以上只是给大家简单的介绍SQL,以及常用的一些语法。当然也有部分的内容忽略,因为在编程员的路上有一小部分不会用到。当然,如果大家有不懂的可以留下问题,小编很乐意为大家解决~在本章结束,小编会留下联系方式。

有了数据库,我们就会利用它来存储很多的信息。有的是肉眼可以一览无余的,有的则是一眼望不到头。这样,我们就不得不发明一种查询方式以便查询。所以,下面小编会为大家呈现关于数据库的查询方法

查询数据库的基础:

SELECT <列明>

FROM <表名>

[WHERE <查询条件表达式>]

[ORDER BY <排序的列明>[ASC或DESC]]

注释:DESC是降序排序  ASC是升序排序

(1)查询所有的数据行和列

SELECT  *  FROM  STUDENT

&#39;*&#39;表示所有的列

(2)查询部分行或列

SELECT SCode,SName,SAdress

FROM Student

WHERE SAdress =&#39;河北&#39;

(3)在查询中使用列的别名

(4)查询空值

(5)在查询中使用常量列

(6)查询返回限制的行数

查询排序使用ORDER BY

在查询中使用函数(看着难其实不难,小编会给你们最最最简单的解释让你们得到最大最大最大的收获)

SQL SERVER提供了一些内部函数,每个函数实现不同的功能,不同类别的函数都可以和SELECT、UPDATE、INSERT语句联合使用。

(1)字符串函数

函数名 描述 例子

CHARINDEX 用来寻找一个指定的字符串在另一个字符串中的起始位置

SELECT CHARINDEX(&#39;NAME&#39;,&#39;My name is Tom&#39;,1)

返回:4

LEN 返回传递给它的字符串长度

SELECT LEN(&#39;SQL SERVER 课程&#39;)

返回:12

UPPER 把传递给它的字符串转换为大写

SELECT UPPER(&#39;sql server 课程&#39;)

返回:SQL SERVER 课程

LTRIM 清楚字符左边的空格

SELECT LTRIM(&#39; 周志宇 &#39;)

返回:周志宇 (后面空格保留)

RIRIM 清楚字符右边的空格

SELECT LTRIM(&#39; 周志宇 &#39;)

返回: 周志宇(前面空格保留)

RIGHT 从字符串右边返回指定书目的字符

SELECT RIGHT(‘机房贷款’,2)

返回:贷款

REPLACE 替换一个字符串的字符

SELECT REPLACE(‘双方的奋斗&#39;,双,单)

返回:单方的奋斗

STUFF 在一个字符串中,删除指定长度的字符,并在该位置插入一个新的字符串

SELECT STUFF(&#39;123我的456’,4,5,&#39;他的&#39;)

返回:123他的456

(2)日期函数:

GETDATE 取得当前的系统日期

SELECT GETDATE()

返回:今天的日期

DATEADD 将制定的数值添加到指定的日期部分后的日期

SELECT DATEADD(mm,‘01/01/2009’)

返回:以当前的日期格式返回05/01/2009

DATEDIFF 两个日期之间的指定日期部分的间隔

SELECT DATEDIFF(mm,‘01/01/2009’,&#39;05/01/2009&#39;)

返回:4

DATENAME 日期中指定日期部分的字符串形式

SELECT DATENAME(dw,&#39;01/01/2000&#39;)

返回:Saturday或星期六

DATEPART 日期中指定日期部分的整数形式

SELECT DATEPART(day,&#39;01/15/2000&#39;)

返回:15

注释:

year yy,yyy

quarter qq,q

month mm,m

day dd,d

dayofyear dy,y

week wk,ww

weekday dw,w

hour hh

minute mi,m

second ss,s

millisecond ms

(3)数学函数:

RAND 返回从0到1之间的随机float数

SELECT RAND()

返回:0.79288062146374

ABS 取数值表达式的绝对值

SELECT ABS(-43)

返回:43

CELING 向上取整

SELECT CELING(43.5)

返回:44

FLOOR 想下去整

SELECT FLOOR(39.8)

返回:39

POWER 取数值表达式的幂值

SELECT POWER(5.2)

返回:25

ROUND 将数值表达式四舍五入

SELECCT ROUND(43.543,1)

返回:43.500

SIGN 对于正数返回+1,对于负数但会-1,对于0返回0

SELECT SIGN(-43)

返回:-1

SQRT 取浮点表达式的平方根

SELECT SQRT(9)

返回:3

(4)系统函数:

CONVERT 用来转变数据类型

SELECT CONBERT(VARCHAR(5),12345)

返回:字符串12345

由于系统函数不经常应用,再次不多做解释,如有疑问,可以留下你的问题哦!

模糊查询和聚合函数(也是一个小点点哦)

(1)通配符:它是一类字符,它可以代替一个或多个真正的字符,查找信息时作为替代字符出现。

_ 一个字符

% 任意长度的字符串

[] 括号中所指定范围内的一个字符

[^]

不在括号中所指定范围内的任意一个字符

(2)使用LIKE进行模糊查询(:LIKE就是在一个字符串中去找有没有与条件相似的关键字,也就是说只要有我们要找的关键字在里面就行)

(3)使用BETWEEN在摸个范围进行查询(:BETWEEN的意思就是在---之间,顾名思义就是给定一个范围,在范围内查找)

(4)使用IN在例举值内进行查询:(:IN就是列举值必须与匹配的列具有相同的数据类型)

聚合函数:SUM()函数 AVG()函数 MAX()函数和MIN()函数 COUNT()函数

SUM()函数:计算的是列的总和

AVG()函数:计算的是平均数

MAX()函数:计算的是最大值

MIN()函数:计算的是最小值

COUNT()函数:计算的是总和

分组查询:采用GROUP BY字句来实现。用于统计时经常使用分组查询!

sum()

count()

max() min()

avg()

一旦通过group by分组,那么我们只能获取组相关的信息,而不能获取组中成员的信息

在select只能跟聚合函数和group by后面的列,其他列不允许

where之后不能有聚合函数

推荐阅读
  • 推荐一个ASP的内容管理框架(ASP Nuke)的优势和适用场景
    本文推荐了一个ASP的内容管理框架ASP Nuke,并介绍了其主要功能和特点。ASP Nuke支持文章新闻管理、投票、论坛等主要内容,并可以自定义模块。最新版本为0.8,虽然目前仍处于Alpha状态,但作者表示会继续更新完善。文章还分析了使用ASP的原因,包括ASP相对较小、易于部署和较简单等优势,适用于建立门户、网站的组织和小公司等场景。 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 本文介绍了如何在MySQL中将零值替换为先前的非零值的方法,包括使用内联查询和更新查询。同时还提供了选择正确值的方法。 ... [详细]
  • 在数据分析工作中,我们通常会遇到这样的问题,一个业务部门由若干业务组构成,需要筛选出每个业务组里业绩前N名的业务员。这其实是一个分组排序的 ... [详细]
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • Oracle Database 10g许可授予信息及高级功能详解
    本文介绍了Oracle Database 10g许可授予信息及其中的高级功能,包括数据库优化数据包、SQL访问指导、SQL优化指导、SQL优化集和重组对象。同时提供了详细说明,指导用户在Oracle Database 10g中如何使用这些功能。 ... [详细]
  • 本文介绍了adg架构设置在企业数据治理中的应用。随着信息技术的发展,企业IT系统的快速发展使得数据成为企业业务增长的新动力,但同时也带来了数据冗余、数据难发现、效率低下、资源消耗等问题。本文讨论了企业面临的几类尖锐问题,并提出了解决方案,包括确保库表结构与系统测试版本一致、避免数据冗余、快速定位问题等。此外,本文还探讨了adg架构在大版本升级、上云服务和微服务治理方面的应用。通过本文的介绍,读者可以了解到adg架构设置的重要性及其在企业数据治理中的应用。 ... [详细]
  • 在说Hibernate映射前,我们先来了解下对象关系映射ORM。ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现。这样开发人员就可以把对数据库的操作转化为对 ... [详细]
  • 本文详细介绍了MysqlDump和mysqldump进行全库备份的相关知识,包括备份命令的使用方法、my.cnf配置文件的设置、binlog日志的位置指定、增量恢复的方式以及适用于innodb引擎和myisam引擎的备份方法。对于需要进行数据库备份的用户来说,本文提供了一些有价值的参考内容。 ... [详细]
  • 本文由编程笔记小编整理,介绍了PHP中的MySQL函数库及其常用函数,包括mysql_connect、mysql_error、mysql_select_db、mysql_query、mysql_affected_row、mysql_close等。希望对读者有一定的参考价值。 ... [详细]
  • Spring特性实现接口多类的动态调用详解
    本文详细介绍了如何使用Spring特性实现接口多类的动态调用。通过对Spring IoC容器的基础类BeanFactory和ApplicationContext的介绍,以及getBeansOfType方法的应用,解决了在实际工作中遇到的接口及多个实现类的问题。同时,文章还提到了SPI使用的不便之处,并介绍了借助ApplicationContext实现需求的方法。阅读本文,你将了解到Spring特性的实现原理和实际应用方式。 ... [详细]
  • Java String与StringBuffer的区别及其应用场景
    本文主要介绍了Java中String和StringBuffer的区别,String是不可变的,而StringBuffer是可变的。StringBuffer在进行字符串处理时不生成新的对象,内存使用上要优于String类。因此,在需要频繁对字符串进行修改的情况下,使用StringBuffer更加适合。同时,文章还介绍了String和StringBuffer的应用场景。 ... [详细]
  • MyBatis错题分析解析及注意事项
    本文对MyBatis的错题进行了分析和解析,同时介绍了使用MyBatis时需要注意的一些事项,如resultMap的使用、SqlSession和SqlSessionFactory的获取方式、动态SQL中的else元素和when元素的使用、resource属性和url属性的配置方式、typeAliases的使用方法等。同时还指出了在属性名与查询字段名不一致时需要使用resultMap进行结果映射,而不能使用resultType。 ... [详细]
  • 使用Ubuntu中的Python获取浏览器历史记录原文: ... [详细]
  • 本文介绍了在Mac上搭建php环境后无法使用localhost连接mysql的问题,并通过将localhost替换为127.0.0.1或本机IP解决了该问题。文章解释了localhost和127.0.0.1的区别,指出了使用socket方式连接导致连接失败的原因。此外,还提供了相关链接供读者深入了解。 ... [详细]
author-avatar
火影魂XJ_710
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有