server数据库而不用其他的呢 为什么要用sql

2019-06-19 22:09:06 absolute_chen 阅读数 918

SQL Server数据库和MySQL数据库有什么区别呢?详细很多初入IT行业的朋友对于SQL Server数据库和MySQL数据库经常搞混,认为这两种数据库是同一种,其实不然,今天我们来分析一下这两种数据库的不同之处:
SQL Server数据库和MySQL数据库有什么区别
    1,优点分析:MYSQL短小精悍,容易上手,操作简单,免费供用的。相对其它数据库有特色又实用的语法多一些。SQL怎么也算是大型数据库,稳定,能做一般大系统的数据仓库,运行速度明显比MYSQL快N多(海量数据下这个优势显而易见)。

    2,缺点分析:MYSQL难担当大系统的数据仓库,运行速度慢,不够稳定,有掉线的情况。SQLSERVER价格贵(当然没说5元盗版),使用起来比MYSQL要难一些,毕竟东西大了说道多点。

    3,按你的补充(如何登录):MySQL自己有文字界面客户端,用起来咋说也没鼠标点方便(不过习惯了也好),当然配对MYSQL有专业的客户端软件,我是用SQLYOG519版的,各种操作真的是很方便的说。SQLSERVER 就用自带的查询分析器登录了:)两者的前提是数据库服务都带打开,而且你得知道安装时的用户名密码哦:)

    对于程序开发人员而言,目前使用最流行的两种后台数据库即为MySQL and SQLServer。这两者最基本的相似之处在于数据存储和属于查询系统。你可以使用SQL来访问这两种数据库的数据,因为它们都支持ANSI-SQL。还有,这两种数据库系统都支持二进制关键词和关键索引,这就大大地加快了查询速度。同时,二者也都提供支持XML的各种格式。除了在显而易见的软件价格上的区别之外,这两个产品还有什么明显的区别吗?在这二者之间你是如何选择的?让我们看看这两个产品的主要的不同之处,包括发行费用,性能以及它们的安全性。
 
    根本的区别是它们遵循的基本原则
 
二者所遵循的基本原则是它们的主要区别:开放vs保守。SQL服务器的狭隘的,保守的存储引擎与MySQL服务器的可扩展,开放的存储引擎绝然不同。虽然你可以使用SQL服务器的Sybase引擎,但MySQL能够提供更多种的选择,如MyISAM,Heap, InnoDB, and BerkeleyDB。MySQL不完全支持陌生的关键词,所以它比SQL服务器要少一些相关的数据库。同时,MySQL也缺乏一些存储程序的功能,比如MyISAM引擎联支持交换功能。
 
    发行费用:MySQL不全是免费,但很便宜
 
    当提及发行的费用,这两个产品采用两种绝然不同的决策。对于SQL服务器,获取一个免费的开发费用最常的方式是购买微软的Office或者VisualStudio的费用。但是,如果你想用于商业产品的开发,你必须还要购买SQL Server StandardEdition。学校或非赢利的企业可以不考虑这一附加的费用。
 
    性能:先进的MySQL
 
    纯粹就性能而言,MySQL是相当出色的,因为它包含一个缺省桌面格式MyISAM。MyISAM数据库与磁盘非常地兼容而不占用过多的CPU和内存。MySQL可以运行于Windows系统而不会发生冲突,在UNIX或类似UNIX系统上运行则更好。你还可以通过使用64位处理器来获取额外的一些性能。因为MySQL在内部里很多时候都使用64位的整数处理。Yahoo!商业网站就使用MySQL作为后台数据库。
 
    当提及软件的性能,SQL服务器的稳定性要比它的竞争对手强很多。但是,这些特性也要付出代价的。比如,必须增加额外复杂操作,磁盘存储,内存损耗等等。如果你的硬件和软件不能充分支持SQL服务器,我建议你最好选择其他如DBMS数据库,因为这样你会得到更好的结果。
 
    安全功能
 
    MySQL有一个用于改变数据的二进制日志。因为它是二进制,这一日志能够快速地从主机上复制数据到客户机上。即使服务器崩溃,这一二进制日志也会保持完整,而且复制的部分也不会受到损坏。
 
    在SQL服务器中,你也可以记录SQL的有关查询,但这需要付出很高的代价。
 
安全性
 
   这两个产品都有自己完整的安全机制。只要你遵循这些安全机制,一般程序都不会出现什么问题。这两者都使用缺省的IP端口,但是有时候很不幸,这些IP也会被一些黑客闯入。当然,你也可以自己设置这些IP端口。
 
    恢复性:先进的SQL服务器
 
    恢复性也是MySQL的一个特点,这主要表现在MyISAM配置中。这种方式有它固有的缺欠,如果你不慎损坏数据库,结果可能会导致所有的数据丢失。然而,对于SQL服务器而言就表现得很稳键。SQL服务器能够时刻监测数据交换点并能够把数据库损坏的过程保存下来。
 
    根据需要决定你的选择
 
    对于这两种数据库,如果非要让我说出到底哪一种更加出色,也许我会让你失望。以我的观点,任一对你的工作有帮助的数据库都是很好的数据库,没有哪一个数据库是绝对的出色,也没有哪一个数据库是绝对的差劲。我想要告诉你的是你应该多从你自己的需要出发,即你要完成什么样的任务?而不要单纯地从软件的功能出发。
 
    如果你想建立一个.NET服务器体系,这一体系可以从多个不同平台访问数据,参与数据库的管理,那么你可以选用SQL服务器。如果你想建立一个第三方站点,这一站点可以从一些客户端读取数据,那么MySQL将是最好的选择。

2019-01-31 15:23:38 dnruanjian 阅读数 6170

知识点:常用数据库介绍、数据库的基本概念了解、登录SQL Server数据库、创建和管理SQL Server数据库

1. 常用数据库介绍

1.1 为什么需要数据库?

    数据库,顾名思义就是存储数据的仓库,数据库最终的目的是存储数据。那么在数据库技术出现之前,我们是怎么存储数据的呢?(比如要记住家人的生日)我们可以依靠大脑记忆、写在纸上、有计算机以后可以写在计算机内存中、写成磁盘文件……不管什么方法,随着数据越来越多,称之为海量数据、大数据时代,这些方法或多或少都会存在一些问题,比如写在纸上记在脑袋里,容易丢失(明天就忘记了),内存中也是一样的。 虽然数据可以用文件的形式保存在硬盘中,硬盘基本上算是能够永久存储的。又有一个新问题,如果以文件的形式保存在硬盘中,随着数据量的累积,文件会越来越多,如果想从这些文件中找出某个需要的信息,效率相对而言比较低下,查询起来会很困难。所以说,传统的方式,不能满足我们现在的需求,这时数据库技术就产生了,能够有效解决这些问题。

 

1.2 什么是数据库?

数据库(Database)简称DB,这门技术是我们开发人员必须掌握的,为什么必须掌握呢?因为所有的软件系统都是基于数据的,我们之前学过用变量存数据对吧?不过我们知道变量是保存在内存中的,一旦程序退出数据就会消失,但是像银行软件中的用户信息、交易记录这些数据都是需要长期保存的,同时还有经常进行检索和修改。要达到这些要求,必须靠数据库,目前绝大多数软件系统都用到了数据库。现在大家应该对数据库有了一个基本认识:数据库就是用于长期保存数据的,并且可以对数据进行分类、检索、修改的软件系统。

运行中的程序能不能保存数据?程序在内存中运行,内存数据的维持是靠电维持的,一旦程序重启,或者计算机本身断电,这时候程序中的数据都会丢失。这些就是程序和数据之间的关系。

 

1.3 数据库能做什么?

  • 能够存储大量数据,现在都是以TB为单位,1T=1024GB,1GB=1024MB……,同时还有一个重要的功能,通过数据库技术快速的查找需要的内容。(比如登录QQ时,输入用户名和密码,要在数据库中查找用户并判断密码是否正确,从十几亿信息中查找并判断,一两秒就完成。)
  • 数据库能够保存数据,同时具有一些检查约束功能,比如注册QQ时,密码太短、提示错误。
  • 可以将数据放在互联网上,全球共享数据,当然也能保证数据的安全性,两个方面保证数据不丢失(备份机制)、针对不同人员提供不同数据(比如企业总经理可以看到所有员工信息,普通员工则只能看到自己信息)
  • 通俗讲就是数据挖掘的概念,从大量的数据中找出对我们生产生活有用的信息。比如超市购物,收银员将商品信息录入到电脑中,可以通过数据分析发现某件物品在某个月份卖的比较多,那么明年是不是要提前多进货,这些是数据库能够给我们带来的东西。

 

1.4 数据库和应用程序之间的关系

        现实中,一般很少有情况直接去操作表的数据。一般情况下会开发一些应用,用这些应用提供的界面进行操作,再影响表的操作。比如界面上提供【删除】按钮,点击以后,删除数据库里的数据。而不是直接在数据库里进行删除。

  • 应用程序主要是提供一些界面,用这些界面去显示数据库反馈回来的结果,同时也可以将用户输入的数据传递给服务器,从服务器里去查询。整体来说,应用程序主要是和用户打交道,和用户进行交互,接收用户输入的数据,以及把信息显示给用户看。
  • 数据库主要是用来存储、查询。

 

 

1.5 主流的数据库产品

目前,商品化的数据库管理系统以关系型数据库为主导产品,技术比较成熟。面向对象的数据库管理系统虽然技术先进,数据库易于开发、维护,但尚未有成熟的产品。国际国内的主导关系型数据库管理系统有SQLServer、ORACLE、SYBASE、INFORMIX和 DB2。

  • 目前主流的数据库产品,我们所学的是微软的SQL Server数据库,为什么要学习这个?主要是因为他的产品对用户比较友好,基本上都是图形化的界面,可以通过鼠标点选快速的创建数据库,对初学者来说非常合适,当然功能也非常强大。一般用于Web上存储数据
  • 龙头产品Oracle数据库,是由Oracle公司开发,又称甲骨文。银行、保险这些关乎国计民生的大企业都在使用Oracle数据库,Oracle数据库产品本身免费,但是服务收费,比如数据丢失,可以提供支持将数据恢复过来,查询速度变慢可以上门优化提升查询速度。大二时会学习Oracle数据库。
  • DB2是IBM出的产品,用的也比较多,但是比前两个知名度较少。主要应用于大型应用系统,具有较好的可伸缩性。
  • MySQL被Oracle公司收购,可以理解为Oracle是面对大中型企业,MySQL是其低端产品,主要面对中小型企业和个人,最大的特点就是开源,源代码可以看到,可以对其进行二次开发,而且免费。所以MySQL成本是最低的,目前个人或一些企业都在使用MySQL,用的也比较广泛。

 

2. 数据库的基本概念

2.1 记录和字段

数据库到底是怎么存储数据的,有点类似于excel,用一张二维表的形式来进行数据保存。这里有两个名词需要注意,行(称之为记录),列(称之为字段)。表中一条记录表示现实中的一个实体

数据库中存储的数据表格,每一“行”(Row)实际上对应一个实体,在数据库中,通常叫作一条“记录”(Record)。 表格中的每一个“列”,如编号、姓名、年龄、民族等,在数据库中,通常称之为“字段”。

 

2.2 数据冗余和数据完整性

数据冗余:在数据库系统中,数据重复的现象就是数据冗余,减少数据冗余最常见的方法是分类存储。(通常允许有必要的冗余)

数据完整性:是指数据库中数据的准确性,如果多个表互相关联,那么只要修改其中一个表,与之相关的所有表都要做出相应的修改。否则数据将不再准确,也就失去完整性。

 

2.3 数据库和数据库表

数据库表:不同类型的记录组织在一起,形成了数据库的“表”(Table),也可以说,表是实体的集合,用来存储具体的数据.

数据库:一个数据库里可以包含多张数据库表。简单地说,数据库就是表的集合。逻辑上,数据库包含数据库表、存储表间关系的表、各种关系对象。

 

2.4 数据库管理系统和数据库系统

  • 数据库DB:是“按照数据结构来组织、存储和管理数据的仓库”。数据库能为各种用户共享,具有较小冗余度、数据间联系紧密而又有较高的数据独立性等特点。
  • 数据库系统DBS:是一个实际可运行的系统,可以对系统提供的数据进行存储、维护和应用。……数据库系统一般由4个部分组成:

1、数据库(DataBase,DB)

2、硬件:构成计算机系统的各种物理设备,包括存储所需的外部设备。硬件的配置应满足整个数据库系统的需要。

3、软件:包括操作系统、数据库管理系统及应用程序。

4、人员:主要有4类。①系统分析员和数据库设计人员;②应用程序猿;③利用接口或查询语言访问数据库的相关人员;④数据库管理员。

  • 数据库管理系统DBMS:是一种操纵和管理数据库的大型软件,用于建立、使用和维护数据库,简称DBMS。目前有许多DBMS产品,如DB2、Oracle、Microsoft、SQL Server、 Sybase SQL server、 informix、MySQL等。

 

 

3. SQL Server数据库的启动和登录

SQL Server数据库安装教程:SQL Server数据库基础:SQL Server 2017安装教程

第一步:启动SQL Server服务

       

  • 在win 10系统中,点击win+x——计算机管理——服务和应用程序——SQL Server服务——右键单击启动
  • 在win 7系统中,鼠标右键单价【计算机】——【管理】——进入【计算机管理】——服务和应用程序——SQL Server服务——右键单击启动

 

第二步:登录SQL Server

启动数据库之后,就要登录,去链接到它,对数据库进行操作。怎么登录呢?提供一个工具,SQL Server Management Studio(简称SSMS),是SQL Server的一个管理工具,打开以后登录数据库,数据库服务器是在后台运行。

登录时,第一个注意的服务器名称.表示访问本台电脑的服务器,如果访问其他电脑需要输入IP地址,第二个身份验证有两种方式:Windows身份验证不用输入用户名和密码,只要你能进入操作系统,就能正常进入SQL Server,此种方式不推荐。推荐第二种方式SQL Server自带的身份验证方式,初始输入超级管理员用户,sa是安装时默认的内置账号,安装时自己指定密码。进去之后可以通过点选操作进行。

 

4. 创建数据库

4.1 系统数据库和用户数据库

数据库有两种:系统数据库,另一种是需要用户创建的数据库,右键新建数据库(称之为用户数据库)。

系统数据库名

作用

master

记录SQL Server系统中所有系统级别的信息

tempdb

保存所有的临时表和临时存储过程

model

用作在系统中创建的所有数据库的模板

msdb

提供SQL Server代理程序调度警报和作业

 

4.2 创建数据库必须了解的概念

要创建自己的数据库,首先要弄清楚两个文件:数据文件和日志文件。

  • 数据文件:顾名思义,就是存放数据的,也就是你以后建的表,最终是存储在数据文件中,数据文件中又分为两种:主要数据文件(有且只有一个),次要数据文件(零个或多个)。
  • 日志文件:就是做日志记录的,你对数据的每一个操作,添加了什么、更新了什么、删除了什么,都会记录到日志文件中,下次数据如果丢失,可以通过日志再找回来。(至少一个)

 

4.3 创建数据库的步骤

第一步:在数据库上单击鼠标右键,点击【新建数据库】

第二步:在弹出的窗体中,设置数据库名、数据文件初始大小及增长方式(存放路径一般放在SQL Server安装文件中,比较麻烦,可以自己新建一个database文件夹)

    

第三步:全部设置好以后,点击确定即可。

建完之后还可以修改,比如添加一个次要数据文件、日志文件等,而且还可以将次要数据文件指定到其他文件夹中。次要数据文件的好处,如果磁盘存满以后,可以将次要数据文件指定到另外一个磁盘。

 

5. 数据库的管理和维护

5.1 分离和附加数据库

         SQL Server启动的时候,数据库文件是不能复制、粘贴的,但有时候我们需要将数据库物理文件复制到其他计算机上使用。例如,学生在SQL Server考试后,需要把数据库移植到教师的计算机上,教师才能根据数据库的情况进行评分,此时需要使用移动数据库的操作。

        SQL Server移动数据库分两步进行,首先是分离数据库,然后是附加数据库。分离数据库是从服务器中移去逻辑数据库,但不会删除数据库文件;附加数据库将会创建一个新的数据库,并使用已有的数据库文件和事务日志文件中的数据。

第一步:分离数据库:右键单击数据库——任务——分离,在弹出的窗体中点击【确定】

 

第二步:附加数据库:在数据库上单击右键【附加】,在弹出的窗口中进行附加即可。

点击【添加】,选择将要附加的数据库主文件。

 

注意:如果在附加文件时出现错误提示,注意检查数据库文件的权限是否开放。

错误提示:

解决办法:分别设置mdf和ldf文件的安全性

分别选中mdf和ldf文件后,单击鼠标右键选择【属性】,在弹出的属性对话框里,点击【安全】,然后对组或用户名进行编辑

 

 

扩展内容:SQL Server数据库登录名、用户名的区别与联系

 

 

 

 

=========================这里是结束分割线=====================

2017-08-14 11:13:39 u011892110 阅读数 52753

一、nacicat连接本地sqlserver数据库

  navicat连接本地sqlserver数据库,较为简单,只需要填写主机名,采用sql server 验证,输入用户名,连接的时候输入密码即可。
  
这里写图片描述

  如果连接账户不是sa,需要输入默认数据库,在高级选项卡中初始数据库中即可输入。

这里写图片描述


二、nacicat连接远程sqlserver数据库

  navicat连接远程sqlserver数据库需要安装sqlserver客户端,不过navicat会自动从sqlserver服务器上去下载安装软件,安装过程也是一直点下一步即可。

这里写图片描述

  在获取sqlserver客户端的时候,也存在navicat版本和sqlserver版本不匹配的问题,有一个简便的办法就是安装navicat premium版本(我使用的是64位11.2.7版本),该本版和sqlserver 2008R2是能匹配的,使用navicat premium版本连接后,之前不能匹配的navicat for sqlserver版本,也能够正常连接数据库了。
  
这里写图片描述
  在安装客户端后,连接没有就没有什么难度了,基本上和本地连接一样,只需要将连接主机名写为数据库所在IP。

这里写图片描述

2018-08-31 20:47:02 kenjianqi1647 阅读数 58582

一、认识数据库

1、数据库的基本概念

2、数据库常用对象

3、数据库的组成

数据库主要由文件和文件组组成。数据库中所有的数据和对象都被存储在文件中。

二、创建数据库

1、创建数据库

对象资源管理器—数据库——右击——新建数据库

三、操作数据表与视图

1、创建数据表

空值:表示数据未知。非空值:数据列不允许空值。

(1)选择一个数据库——展开 表——新建表

填入属性

(2)设置主键

选择KH_ID右击,设置为主键。主键:建立一列或多列的组合以唯一标识表中的每一行,主键可以保证实体的完整性,一个表只能有一个主键。

(3)保存新建的表,并给起一个名字。

(4)修改数据表。选择要修改的数据表,右击——设计。

(5)创建检查约束,检查约束可以把输入的数据限制在指定范围。

设计——选择一列——右击 check约束

(6)创建外键:外键是建立两个表数据之间连接的一列或多列。通过将保存表中主键值的一列或多列添加到另一个表中,可以创建两个表之间的连接。这个列为第二个表的外键。

2、关系

一对一

一对多

多对多

3、视图

将查询的结果以虚拟表的形式存储在数据表中,视图并不在数据库中以存储数据集的形式存在,视图的结构和内容建立在对表的查询基础之上的,视图的行列数据源于查询所应用的表。

(1)创建视图

选择指定的数据库——视图——新建视图——添加表——保存

(2)查看视图的内容(记录)

选择要查看的视图——编辑前200行

(3)视图中删除数据记录

设计——删除

三、T-SQL

3.1分类

3.2语句分类

3.3 常用的数据操作语句

3.3.1 select 查询语句

select 语句是一个查询表达式,包括select、from、where、group by 和 order by 子句。具有数据查询、统计、分组和排序的功能。

 

select 和from为必选子句,其他为可选语句。

1、where 用法

(1)比较运算:

(2)逻辑运算:

(3)范围运算:

(4)列表运算

 

 

(5)字符匹配运算

2、ORDER BY 子句

对查询的结果升序或降序排列

3、GROUP BY子句

对查询结果按照一列信息归类

4、SELECT操作多表数据

多表查询把多个表的数据组合,再从中获取所需要的数据信息。

(1)简单基本连接

(2)内连接

内联接使用比较运算符根据每个表共有的列的值匹配两个表中的行。

如:

(3)外连接

外连不但返回符合连接和查询条件的数据行,还返回不符合条件的一些行。外连接分三类:左外连接(LEFT OUTER JOIN)、右外连接(RIGHT OUTER JOIN)和全外连接(FULL OUTER JOIN)。

左外链接:

右外连接:

完全连接:返回两个表中所有匹配行和不匹配行

3.3.2 insert 插入语句

 

 

 

3.3.3   update语句修改指定的数据

3.3.4 delete 语句删除指定数据

 

3.4 视图操作

(1)插入数据

(2)修改数据

(3)删除数据

4、基本表和视图的区别:

(1)数据库中的数据都是存储在表中的,而视图只是一个或多个表依照某个条件组合而成的结果集,一般来说你可以用update,insert,delete等sql语句修改表中的数据,而对视图只能进行select操作。但是也存在可更新的视图,对于这类视图的update,insert和delete等操作最终会作用于与其相关的表中数据。因此,表是数据库中数据存储的基础,而视图只是为了满足某种查询要求而建立的一个对象。

(2)表是物理存在的,你可以理解成计算机中的文件! 视图是虚拟的内存表,你可以理解成Windows的快捷方式!

 

 

2018-11-21 15:13:42 shiwuban 阅读数 7653

sqlserver高版本数据库导入到低版本

由于sqlserver向下兼容性,但不向上兼容,所以高版本数据无法利用bak恢复,也不能附加。只能通过sql方式导入,以下介绍两种方式,如果原数据有视图,要用sql方式,可以用方法二。

方法一:sqlserver自身导入功能。

1、登录低版本(要导入的数据库)数据库,右键要恢复的数据库--任务--导入数据。

image.png

2、选择sql server身份验证,填写好原数据库信息。

image.png

点击下一步,会出现恢复到何处的选项,如下图所示,用windows身份验证,数据库填写现在要恢复的数据库。

image.png

如下图所示,继续下一步,直到完成。

image.png

image.png

image.png

这样导入完成了,如果有报错,可以根据报错查看处理,或者直接参考下面方法二尝试。

 

方法二:Navicat Premium软件方式导入。

Navicat Premium是一款功能强大的sql连接工具,支持连接mysql、sqlserver、sqlite等众多数据库。本文不另外提供下载地址。

1、打开软件,点击连接,选择sql server 。

image.png

添加上新旧服务器的连接信息,连接名可以任意起名,点击确认添加。

image.png

为了区分,我们分别取名“新数据库”、“旧数据库”。

image.png

2、数据导出。

直接双击“旧数据库”就可以连接上数据库,依次双击展开,一般表都是在dbo下,可以看到数据库表。

image.png

image.png

右键dbo--转储sql文件--结构和数据  选择目录保存,等待执行完成,看到Finished Successfully就是表示成功完成。

image.png

3、数据导入

双击连接新服务器,双击数据库打开,然后右键数据库--运行sql文件

image.png

选择刚才导出的sql文件,然后开始执行。

image.png

导入完成以后检查下数据库表和视图是否正常。