精华内容
下载资源
问答
  • 达思SQL数据库修复软件(支持碎片重组,支持勒索病毒加密的修复) 达思SQL数据库修复软件 D-Recovery for MS SQL Server 界面 达思SQL数据库修复软件(支持碎片重组,支持勒索病毒加密的修复)检测数据库功能一...

    达思SQL数据库修复软件(支持碎片重组,支持勒索病毒加密的修复)


    1.7-1.jpg

     达思SQL数据库修复软件 D-Recovery for MS SQL Server 界面


    1.7-2.jpg

     达思SQL数据库修复软件(支持碎片重组,支持勒索病毒加密的修复)检测数据库功能


    一、达思SQL数据库修复软件(支持碎片重组,支持勒索病毒加密的修复)综述


    D-Recovery for MS SQL Server达思SQL数据库修复软件是由达思科技自主研发的目前市面上最好用的SQL数据库修复软件之一,支持MS SQL Server全系列数据库版本,无需借助SQL数据库环境就可以修复数据库。对损坏的、报错的、无法附加的、被勒索病毒加密的、硬盘损坏导致缺数据的SQL Server数据库文件进行修复;对因重装系统导致被覆盖过的sql数据库文件进行磁盘碎片重组,导出重要的数据库;支持被勒索病毒加密的数据库修复等等功能强大。


    二、为什么选择达思SQL数据库修复软件(支持碎片重组,支持勒索病毒加密的修复)?

            

    功能特点

    1、 支持的SQL数据库版本更全:

    在功能上几乎支持所有的Microsoft SQL Server版本,如: 7.0、2000、2005、2008、2008R2、2012、2014、2016、2017等几乎所有的版本,支持MDF以及NDF各式;


    2、支持对各种版本SQL数据库损坏程度检测:

    检测速度很快,快速检测出表数据的各种数据,对SQL数据库修复而言,快速诊断坏页、空页的占比,为工程师提供修复数据库的参考数据。


    3、支持修复各种原因导致SQL数据库损坏的问题:

    对于SQL数据库出现置疑、可疑、报错、无法附加、未能读取并闩锁页(用闩锁类型SH)、拷贝数据库时提示冗余错误、SQL数据库表删除如:DROP TABLE、delete、truncate等、SQL数据库被勒索病毒加密等问题,具体如下:

    支持修复SQL数据库DBCC CHECKDB检测日志报错,如分配错误及找不到块错误

    支持无SQL数据库环境的情况下修复SQL数据库;

    支持SQL数据库无法附加,823错误、824错误、825错误、页错误、9003错误、9004错误等情况的修复;

    支持SQL数据库置疑状态的修复;

    支持SQL数据库从低版本升级到高版本后出现数据库结构损坏的问题;

    支持SQL数据库的系统表损坏的情况下,从好的备份提取系统表进行修复;

    支持SQL数据库GAM、SGAM、PFS出现页错误;

    支持SQL数据库文件没有日志或者日志损坏的情况下修复SQL数据库并生成日志;

    支持SQL数据库BAK备份文件损坏且无法恢复的情况下修复;

    支持SQL数据库各种版本的表数据误删除的恢复(包括DROP、DELETE、TRUNCATE、UPDATA等等);

    支持SQL数据库置疑、可以、挂起、SUSPICIOUS、系统表损坏、索引断裂、页撕裂、通信中断、一致性错误、错误823、824、825等情况下的修复;

    支持SQL数据库文件是由于硬盘损坏或者坏道而数据恢复出来后,无法附加的修复;

    支持人工修复表数据关联结构复杂的第三方应用的修复,如用友、金蝶、速达、管家婆、鼎捷易飞、傲鹏软件、新页软件、拓步软件等等。

    支持SQL数据库在其他数据恢复公司放弃的疑难案例。

    支持SQL数据库被各类勒索病毒加密的数据库修复技术;

    4、SQL数据库碎片级恢复:

    支持SQL数据库文件被误删除、格式化分区、重装系统等导致的数据库文件丢失的情况,用普通的数据恢复软件无法找到可用的SQL数据库文件的情况下,软件支持针对分区或者物理磁盘进行深度扫描,找到SQL数据库碎片并且标记碎片编号,然后对全盘的SQL数据库碎片进行重组,达到数据库修复的目标;


    5、SQL数据库人工修复:

    SQL数据库修复费:专家团队检测后,会对SQL数据库修复的成功率及工期给出预估。

    响应时间:周一到周五9:00-18:00,您支付成功后,我们将时时响应。非工作时间,我们将尽快响应。

    我们专家团队对您的数据库具保密义务,如果您希望签订保密协议,您可以点击下载保密协议,盖章扫描后发送至 55356052@qq.com

    展开全文
  • SQL数据库学习,常用语句查询大全

    万次阅读 多人点赞 2016-02-13 21:09:05
    SQL数据库的大全解析,包括简单查询和多表查询

    数据库学习


    sql server数据库基本概念


    使用文件保存数据存在几个缺点:

    1、文件的安全性问题;

    2、文件不利于查询和对数据的管理;

    3、文件不利于存放海量数据

    4、文件在程序中控制不方便。

     

    数据库的定义(1)

    严格地说,数据库是“按照数据结构来组织、存储和管理数据的仓库”。在经济管理的日常工作中,常常需要把某些相关的数据放进这样的“仓库”,并根据管理的需要进行相应的处理。例如,企业或事业单位的人事部门常常要把单位职工的基本情况(职工号、姓名、年龄、性别、籍贯、工资、简历等)存放在表中,这张表就可以看成一个数据库。有了这个“数据仓库”我们就可以根据需要随时查询某职工的基本情况,也可以查询工资在某个范围内的职工人数等等。这些工作如果都能在计算机上自动进行,那我们的人事管理就可以达到极高的水平。此外,在财务管理、仓库管理、生产管理中也需要建立众多的这种“数据库”,使其可以利用计算机实现财务、仓库、生产的自动化管理。

     

    数据库的定义(2)

    J.Martin组数据库下了一个比较完整的定义:数据库是存储在一起的相关数据的集合,这些数据是结构化的,无有害的或不必要的冗余,并为多种应用服务;数据的存储独立于使用它的程序;对数据库插入新数据,修改和检索原有的数据均能按一种公用的和可控制的方式进行。当某个系统中存在结构上完全分开的若干个数据库时,则该系统包含一个“数据库集合”。

     

    数据库的基本结构

    数据库的基本结构分三个层次,反映了观察数据库的三种不同角度。

    1、物理数据层

        它是数据库的最内层,是物理存贮设备上实际存储的数据的集合。这些数据的原始数据,是用户加工的对象,由内部模式描述的指令操作处理的位串、字符和字组成。

    2、概念数据层

        它是数据库的中间一层,是数据库的整体逻辑表示。指出了每个数据的逻辑定义及数据间的逻辑联系,是存贮记录的集合。它所涉及的是数据库所有对象的逻辑关系,而不是它们的物理情况,是数据库管理员概念下的数据库。

    3、逻辑数据层

        它是用户所看到和使用的数据库,表示了一个或一些特定用户使用的数据集合,即逻辑记录的集合。

    数据库不同层次之间的联系是通过映射进行转换的。

     

    数据库的基本特点

    1、实现数据共享

        数据共享包含所有用户可同时存取数据库中的数据,也包括用户可以用各种方式通过接口使用数据库,并提供数据共享。

    2、减少数据的冗余度

        同文件系统比,数据库实现了数据共享,从而避免了用户各自建立应用文件。减少了大量重复数据,减少了数据冗余,维护了数据的一致性

    3、数据实现集中控制

        文件管理方式中,数据处于一种分散的状态,不同的用户或同一用户在不同处理中其文件之间毫无关系。利用数据库可对数据进行集中控制和管理,并通过数据模型表示各种数据的组织以及数据间的联系。

    4、数据一致性和可维护性,以确保数据的安全性和可靠性。

    5、故障恢复

     

    目前主流数据库

    微软:              Sql Server和Access

    瑞典MySQL:         AB公司MySql

    IBM公司:           DB2

    美国Sybase公司:   Sybase

    IBM公司:           Informix

    美国Oracle公司:   Oracle

     

    数据库选择:

    1、成本;2、功能;3、并发性要求;4、安全性;

     

    为什么学习SqlServer?

    简单易学

    一般来讲,学习数据库很多人都是从微软的sql server数据库开始的,我们知道微软的产品以简单易用见长,事实也是如此,从sqlserver开始学习数据库是正确的选择,后面我们还要带领大学学习oracle数据库,如果一上手就学习oracle这种大型数据库,会很吃力。

     

    sql server介绍(1)

    SQL是英文Structured Query Language的缩写,意思为结构化查询语言。SQL语言的主要功能就是同各种数据库建立联系,进行沟通。按照ANSI(美国国家标准协会)的规定,SQL被作为关系型数据库管理系统的标准语言。SQL语句可以用来执行各种各样的操作,例如更新数据库中的数据,从数据库中提取数据等。目前,绝大多数流行的关系型数据库管理系统,如Oracle、Sybase、Microsoft SQL Server、Access等都采用了SQL语言标准。

     

    sql server介绍(2)

    SQL Server是一个关系数据库管理系统。它最初是由Microsoft Sybase和Ashton-Tate三家公司共同开发的,于1988年推出了第一个OS/2版本。在Windows NT推出后,Microsoft与Sybase在SQLServer的开发上就分道扬镳了,Microsoft将SQLServer移植到Windows NT系统上,专注于开发推广SQLServer的Windows NT版本。Sybase则较专注于SQL Server在UNIX操作系统上的应用。

    SQL Server2000是Microsoft公司推出的SQLServer数据库管理系统,该版本继承了SQL

    Server7.0版本的优点,同时又比它增加了许多更先进的功能。

     

    sql server开发工具

    sql server2000为我们提供了两种开发工具

    1、企业管理器

    企业管理器是微软提供的图形界面方式操作sql server2000的工具

    2、查询分析器

    查询分析器是微软提供的用命令行(sql语句)操作sqlserver2000的工具

     

    企业管理器的使用(1)

    数据库用户和管理员的概念

    1、管理员sa的介绍

    2、如何修改sa的密码

     

    企业管理器的使用(2)

    为了让大家能迅速掌握企业管理器的使用,我们使用管理器。

    以一个梁山好汉管理为例

    1、建库

    2、建表

    英雄表 hero

    [这里涉及到对表的几个重要概念:a、字段;b、字段类型(简单介绍);c、表行;d、表列;e、记录]

    3、对表进行增加、删除、修改、查询的操作

    这里可以针对真实班级的学生来做,并增加一定的互动,比如用点名机来抽学生操作,或是用点名机看看那个学生被删除或是添加、修改...这样可能学生更有兴趣。

     

    查询分析器的使用(1)

        企业管理器给用户提供了一个很方便的图形界面管理工具,大家用起来感觉直观方便,可是它也有缺点,当一个表的记录非常大的时候,对表的各种操作,都显得不方便了,比如:

    1、要求从1000行记录中查询是否存在名为“孙小明”的人

    2、要求把1000行记录中工资低于100的人,工资增加10%

    3、要求把年龄大于30的人从数据表中删除

    这时,你会发现使用企业管理器是很不方便的

    所以微软为我们提供另外一个操作数据库的工具,查询分析器。查询分析器可以非常方便的完成上述任务。

     

    查询分析器的使用(2)--sql语句

    使用查询分析器,我们就必需要了解sql语句。

     

    什么是sql语句呢?

    人与人交流是使用语言进行交流。我们与sql数据库交流就要使用对应的计算机语言进行交流,所以访问sql数据库要使用sql语句进行指令的发送。

    查询分析器的使用(3)--sql语句

    SQL全称是“结构化查询语言(Structured Query Language)”

    SQL(Structured QueryLanguage)是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。构化查询语言(Structured Query Language)最早是IBM的圣约瑟研究实验室为其关系数据库管理系统SYSTEM R开发的一种查询语言,它的前身是SQUARE语言。SQL语言结构简洁,功能强大,简单易学,所以自从IBM公司1981年推出以来,SQL语言得到了广泛的应用。如今无论是像Oracle、Sybase、Informix、SQL Server这些大型的数据库管理系统,还是像Visual Foxpro、PowerBuilder这些PC上常用的数据库开发系统,都支持SQL语言作为查询语言。

     

    查询分析器的使用(4)--sql语句

    SQL语言包含4个部分:

    数据定义语言(DDL),例如:CREATE、DROP、ALTER等语句。

    数据操作语言(DML),例如:INSERT、UPDATE、DELETE语句。

    数据查询语言(DQL),例如:SELECT语句。

    数据控制语言(DCL),例如:GRANT、REVOKE、COMMIT、ROLLBACK等语句。

     

    查询分析器的使用(5)

    使用查询分析器再次完成梁山好汉管理数据库

    1、建库

    2、建表

    英雄表 hero

    [这里涉及到对表的几个重要概念:a、字段;b、字段类型(简单介绍);c、表行;d、表列;e、记录]

    1、 对表进行增加、删除、修改、查询的操作

     

    查询分析器中创建数据库

    --创建数据库

    create database LiangshanHero2

     

    --创建表

    use LiangshanHero2--使用指定数据库

    go--执行

    create table hero--表名

    (heroId  int ,--英雄排名

    heroName  varchar(50),--名字

    heroNickName  varchar(50),--绰号

    sex char(2),--性别

    sal int

    )

     

    --删除一张表(把表的结构和表的数据删除)

    drop table hero

    --使用sql语句来添加数据

    insert into hero  values(1,'宋江','及时雨','男',20000)

    insert into hero   values(2,'卢俊义','玉麒麟','男',15000)

    insert into hero  values(3,'吴用','智多星','男',30)

    insert into hero  values(4,'公孙胜','入云龙','男',80)

     

    --使用sql语句查询数据,最基础的查询语句

    select * from hero

     

    --1、查询工资低于100的同志

    select * from hero  where sal<100

     

    --2、把工资低于100的人工资提高10%(update)

    --语法结构:update表名 set 字段名1=?,字段名2=?...where 条件语句

    update hero setsal=sal*1.1 where sal<100

     

    --3、请删除工资性别为女的

    delete from hero  where sex='男'

     

    表的管理--表名和列的命名规则

    1、必需以字母,_开头

    2、长度不能超过128个字符

    3、不要使用sql server的保留字

    4、只能使用如下字符A-Z,a-z,0-9,$,#,_等

     

    表的管理--支持的数据类型

    字符型

    char 定长 最大8000字符(非unicode编码)

    char(10)'小韩'前四个字符放'小韩',后添6个空格补全

    varchar变长 最大8000字符(非unicode编码)

    varchar(10)'小寒'sql server分配四个字符,这样可以节省空间

    ntext可变长度Unicode数据的最大长度为2的30次方-1(1,073,741,823)个字符

    text可变长度非Unicode数据的最大长度为2的31次方-1(2,147,483,647)个字符

    区别:

    1、text是字节格式存储英文的,也可以存中文但有时候会显示成乱码

    2、ntext是多字节格式存储unicode的,也就是存储各种文字用的。

    在什么时候使用char型而不使用varchar,在知道字段定长固定时就使用char

     

    字符型

    nchar 定长 最大4000字符(unicode编码)

    nchar(10)'小韩'前四个字符放'小韩',后添6个空格补全

    nvarchar 变长 最大4000字符(unicode编码)

    nvarchar(10)'小寒'sql server分配四个字符,这样可以节省空间

    特别说明:

    1、一般带有汉字的字段用nvarchar,全英文或符号的用varchar,因为nvarchar为unicode字符集,该类型的字段无论是单个字母还是单个汉字都占两个字节,而varchar,字母占一个字节,汉字占两个,nvarchar处理汉字或其它unicode字符集的速度要比varchar字段快。

    2、如果有一些特殊字符在nvarchar中没有的,如日文的某些名片,那当然只能选合适的代码页用varchar了,而且这些特有语言特有的字符转换到nvarchar会消失

     

    表的管理--支持的数据类型

    数字型

    1、bit范围 0到1

    2、int范围 负的2的31次方到正的 2的31次方-1

    3、bigint范围 负的2的63次方到正的 2的63次方-1

    4、float存放小数,不推荐使用

    5、numeric小数

    强烈建议 如果要去存放小数最好使用numeric

     

    日期类型

    datetime(表示日期)

    timestamp(时间戳)

    一般情况下 用datetime表示日期

    --sqlserver为我们提供一个专门的时间函数

    getdate()

    create table spname--建表

    (bir datetime)--字段

    insert into spnamevalues(getdate())--添加时间

     

    图片

    image保存图片,但是用的很少,一般用路径保存图片,在软件公司往往使用图片服务器和图床技术

     

    视频

    binary字段可以存放,但是我们往主,将视频文件保存在文件服务器上,sql server中只保留文件路径,存取效率高。

     

    表的管理--怎样创建表

    建表(公司管理系统)

    --职员表

    sql server建议表的设计者,最好给表定义一个主键,用来标示唯一的一条记录。

    1、主键(primary key),不能够重复出现;

    2、主键必需给值,换言之主键不能为null

    3、主键可以修改,但不能修改为同名的,同时要明确字段不有重复,否则报错。

     

    表的管理--查询

    查询表是对表操作的最重要的操作,这个后面详细讲解

     

    表的管理--添加数据

    所有字段都插入

    insert into emp  values(7521,'ward','salesman',7698,'1981-2-22',1250.00,500.00,30)

     

    插入部分字段(语法)

    insertinto 表名 (字段名1,字段名2,...) values (对应字段数据1,对应字段数据2,...)

     

    表的管理--修改数据

    改一个字段(语法)

    update 表名 set字段名='新值' where 字段='值'

    例:update  student set sex='女' where xh='A001'

        update clerk set age=38 where cleName='贾政'

     

    修改多个字段(语法)

    update 表名 set字段名1='新值',字段名2='新值'... where 字段='值'

    例:update student   set sex='男',birthday='1980-04-01' where xh='A001'

        update clerk set cleName='薛蟠',age=40 where cleId=2

     

    修改含有null值的数据(语法)

    update 表名 set字段名='新值' where 字段 isnull

    例:update clerkset cleName='薛宝钗' where age is null

     

    表的管理--删除数据

    删除全部数据

    deletefrom 表名

     

    删除指定数据

    deletefrom 表名 where字段名='值'

     

    删除多个指定数据(and是条件满足,or是前提条件不满足时使用)

    deletefrom 表名 where字段名1='值' and 字段名2='值' and或or ...

     

    表的基本查询--介绍(重点)

    select语句在软件编程中非常的有用,要好好掌握。

     

    介绍主键和外键

    主键,一张表中只能有一个主键

    1、主键(primary key),不能够重复出现;

    2、主键必需给值,换言之主键不能为null

    3、主键可以修改,但不能修改为同名的,同时要明确字段不有重复,否则报错。

     

    外键

    1、外键只能指向主键

    2、外键和主键的数据类型要一致

     

    数据库例解主键、外键、多功能查询,见下例:

    --建库

    create database test

     

    --创建dept

    create table dept--部门表

    (deptno int primary key,--部门编号

    dname nvarchar(30),--部门名称

    loc nvarchar(30)--所在地

    )

     

    --建表emp

    create table emp--表名

    (empno int primarykey,--编号

    ename nvarchar(30),--名字

    job nvarchar(30),--职位

    mgr int,--上级编号

    hiredate datetime,--入职日期

    sal numeric(10,2),--薪水

    comm numeric(10,2),--奖金

    deptno int foreign key references dept(deptno)--部门编号(做成外键)

    )

     

    --针对外键,请注意:

    --1、外键只能指向主键

    --2、外键和主键的数据类型要一致

     

    --向dept表中添加数据

    insert into deptvalues (10,'accounting','new york')

    insert into deptvalues (20,'research','dallas')

    insert into deptvalues (30,'sales','chicago')

    insert into deptvalues (40,'operations','boston')

     

    --向emp表中添加数据

    insert into emp(empno,ename,job,mgr,hiredate,sal,deptno) values (7369,'smith','clerk',7902,'1980-12-17',800.00,20)

    insert into empvalues(7499,'allen','salesman',7698,'1981-2-20',1600.00,300.00,30)

    insert into empvalues(7521,'ward','salesman',7698,'1981-2-22',1250.00,500.00,30)

    insert into emp(empno,ename,job,mgr,hiredate,sal,deptno) values (7566,'jones','manager',7839,'1981-4-2',2975.00,20)

    insert into empvalues(7654,'martin','salesman',7698,'1981-9-28',1250.00,1400.00,30)

    insert into emp(empno,ename,job,mgr,hiredate,sal,deptno) values (7698,'blake','manager',7839,'1981-5-1',2850.00,30)

    insert into emp(empno,ename,job,mgr,hiredate,sal,deptno) values (7782,'clark','manager',7839,'1981-6-9',2450.00,10)

    insert into emp(empno,ename,job,mgr,hiredate,sal,deptno) values (7788,'scott','analyst',7566,'1987-4-19',3000.00,20)

    insert into emp(empno,ename,job,hiredate,sal,deptno) values (7839,'king','president','1981-11-17',5000.00,10)

    insert into empvalues (7844,'turner','salesman',7698,'1981-9-8',1500.00,0.00,30)

    insert into emp(empno,ename,job,mgr,hiredate,sal,deptno) values (7876,'adams','clerk',7788,'1987-5-23',1100.00,20)

    insert into emp(empno,ename,job,mgr,hiredate,sal,deptno) values (7900,'james','clerk',7698,'1981-12-3',950.00,30)

    insert into emp(empno,ename,job,mgr,hiredate,sal,deptno) values (7902,'ford','analyst',7566,'1981-12-3',3000.00,20)

    insert into emp(empno,ename,job,mgr,hiredate,sal,deptno) values (7934,'miller','clerk',7782,'1982-1-23',1300.00,10)

     

    --查看dept表内容

    select * from dept

    --查看emp表内容

    select * from emp

     

    --查询所有列

    --语法:select * from表名 where 条件

    select * from emp

     

    --查询指定列(sql sever不区分大小写,oracle区分大小写)

    --语法:select字段1,字段2 from 表名 where 条件

     

    --查询smith的薪水,工作,所在部门

    selectsal,job,deptno from emp where ename='smith'

     

    --取消重复行(distinct只能消除完全一样的行,保留一行)

    --语法:select distinct字段 from 表名 where 条件

     

    --统计共有多少个部门编号

    select distinct  deptno from emp

     

    --使用算数表达式

    --显示每个雇员的年工资+奖金

    select ename"姓名",sal*13+isnull(comm,0)*13"年收入" from emp

     

    --使用where子句

    --如何显示工资高于3000的员工

    select ename"员工姓名",sal"工资高于3000" from emp where sal>3000

     

    --如何查找1982-1-1后入职的员工

    select ename"员工姓名",hiredate"1982-1-1后入职日期" from emp where hiredate>'1982-1-1'

     

    --如何显示工资在2000到2500的员工情况

    select * from empwhere sal>=2000 and sal<=2500

    select * from empwhere sal between 2000 and 2500

     

    --如何使用like操作符(模糊查询)

    --%:表示0到多个字符 _:表示单个字符

    --如何显示首字符为S的员工姓名和工资

    select ename,salfrom emp where ename like 's%'

     

    --如何显示第三个字符为o的所有员工的姓名和工资

    select ename,salfrom emp where ename like '__O%'

     

    --在where条件中使用in

    --如何显示empno为123,345,800...的雇员情况

    select * from empwhere empno in(123,345,800)

     

    --使用is null的操作符

    --如何显示没有上级的雇员的情况

    select * from empwhere mgr is null

     

    --使用逻辑操作符号

    --查询工资高于500或是岗位为manager的雇员,同时还要满足他们的姓名首写字母为大写的J

    select * from empwhere (sal>500 or job='manager') and ename like 'J%'

     

    --使用order by字句(asc默认是升序排列,desc为降序排列)

    --如何按照工资的从低到高的顺序显示雇员的信息

    select sal from emporder by sal asc

    --按照部门号升序而雇员的工资降序排列

    --order by可以根据不同的字段排序

    select deptno,salfrom emp order by deptno,sal desc

     

    --使用列的别名排序(别名需要使用""号圈中)

    select  ename,sal*12"年薪"from emp order by "年薪"

     

    表的复杂查询

    说明:

        在实际应用中经常需要执行复杂的数据统计,经常需要显示多张表的数据,现在我们给

    大家介绍较为复杂的select语句

    数据分组-max(最大),min(最小),avg(平均),sum(和),count(统计)

     

    见下例:

    --如何显示所有员工中最高工资和最低工资

    select  min(sal)"最低工资",max(sal)"最高工资" from emp

    --显示最低工资并显示出雇员名字

    select  ename"姓名",sal"工资" from emp where sal=(select min(sal) from emp)

     

    --显示所有员工的平均工资和工资总和

    select avg(sal)"平均工资",sum(sal)"工资总和" from emp

    --把高于平均工资的雇员的名字和他的工资显示出来

    select ename,salfrom emp where sal>(select avg(sal) from emp) order by sal

     

    --计算共有多少员工

    select   count(*)"雇员数"from emp

     

    --扩展要求

    --请显示工资最高的员工的名字、工作岗位

    select ename,job  from emp where sal=(select max(sal) from emp)

     

    --请显示工资高于平均工资的员工信息,并显示平均工资(效率不高)

    select ename"姓名",job"岗位",sal"工资",(select avg(sal)from emp)"平均工资" from emp where sal>(selectavg(sal) from emp) order by sal

     

    表的复杂查询

    group by和having子句

    group by用于对查询的结果分组统计

    having子句用于限制分组显示结果

     

    例:

    --group by和having子句使用(having与group by结合使用,可以对分组后的查询结果进行筛选)

    --如何显示每个部门的平均工资和最高工资

    select deptno"部门号",avg(sal)"平均工资",max(sal)"最高工资",min(sal)"最低工资" from emp group by deptno

    --如何显示每个部门的平均工资和最高工资并显示部门名称(多表查询)

    select  emp.deptno"部门号",avg(sal)"平均工资",max(sal)"最高工资",min(sal)"最低工资",dept.dname"部门名称" from  emp,dept where emp.deptno=dept.deptno group by emp.deptno,dept.dname

     

    --显示每个部门的每种岗位的平均工资和最低工资

    select deptno"部门号",job"岗位",avg(sal)"平均工资",min(sal)"最低工资" from emp group by deptno,job order by deptno

     

    --显示平均工资低于2000的部门号和它的平均工资

    select deptno"部门号",avg(sal)"平均工资" from emp group by deptno having avg(sal)<2000

     

    --显示平均工资大于2000的部门号和它的平均工资并按升序排列

    select deptno"部门号",avg(sal)"平均工资" from emp group by deptno having avg(sal)>2000 order by"平均工资"

     

    表的复杂查询

    对数据分组的总结

    1、分组函数只能出现在选择列表,having、order by子句中

    2、如果在select语句中同时包含有group by,having,ovrderby那么他们的顺序是group by,having,order by

    3、在选择列中如果有列、表达式、和分组函数,那么这些列和表达式必需有一个出现在group by子句中,否则就会出错

    如:selectdeptno,avg(sal),max(sal) from emp group by deptno having avg(sal)<2000

    这里deptno就一定要出现在group by中

     

    表的复杂查询--多表查询

    说明:

        多表查询是指基于两个或两个以上的表或是视图的查询,在实际应用中,查询单个表可能不能满足你的需求,(如显示sales部门位置和其员工的姓名),这种情况下需要使用到(dept表和emp表)

     

    --多表查询

    --如果多张表都有相同名字的字段,则需要带表名(别名)

    --显示sales部门位置和其员工的姓名

    select  emp.ename"员工姓名",dept.dname"部门名称",dept.loc"部门所在地" from  emp,dept where dept.dname='sales' and emp.deptno=dept.deptno

     

    --显示雇员名,雇员工资及所在部门的名字

    select  emp.ename"雇员名",emp.sal"雇员工资",dept.dname"部门名称" from  emp,dept where emp.deptno=dept.deptno

     

    --如何显示部门号为10的部门名、员工名和工资

    select  emp.deptno"部门号",dept.dname"部门名称",emp.ename"员工名称",emp.sal"工资" from emp,dept where emp.deptno=dept.deptno and emp.deptno=10

     

    --显示雇员名、雇员工资及所在部门的名字并按部门排序

    select e.ename"雇员名字",e.sal"工资",d.dname"部门名称" from empe,dept d where e.deptno=d.deptno order by d.dname

     

    表的复杂查询--多表查询

    自连接

    自连接是指在同一张表的连接查询

    例:

    --自连接

    --显示某个员工的上级领导的姓名,比如显示"ford"的上级

    select (select enamefrom emp where ename='ford')"员工姓名",ename"上级领导" from emp where  empno=(select mgr from emp where ename='ford')

     

    --显示公司每个员工姓名和他的上级的名字

    --分析,把emp表看成两张表分别是worker/boss

    --外连接(左外连接、右外连接)

    select  worker.ename"员工名字",boss.ename"领导名字" from emp worker,emp boss where worker.mgr=boss.empno

     

    表的复杂查询--子查询

    什么是子查询

    子查询是批嵌入在其它sql语句中的select语句,也叫嵌套查询

     

    单行子查询

    单行子查询是指只返回一行数据的子查询语句

    --如何显示与smith同一部门的所有员工?

    select deptno"部门号",ename"员工名字" from emp where deptno=(select deptno from emp where  ename='smith')

     

    多行子查询

    多行子查询指返回多行数据的子查询

    --如何查询和部门10的工作相同的雇员的名字、岗位、工资、部门号

    select * from emp  where job in(select distinct job from emp where deptno=10)

     

    在from子句中使用子查询

    --如何显示高于部门平均工资的员工名字、薪水、部门的平均工资

    --分析:1、首先要知道各个部门的平均工资

    select  avg(sal)"部门平均工资",deptno  from emp group by deptno

    --2、把上面的查询结果当作一个临时表对待

    select e.ename"员工名字",e.sal"薪水",temp.myavg"部门平均工资",e.deptnofrom emp e,(select avg(sal) myavg,deptno from emp group by deptno) temp wheree.deptno=temp.deptno and e.sal>temp.myavg

     

    在from子句中使用子查询

    这里需要说明的当在from子句中使用子查询时,该子查询会被作为一个临时表来对待,当在from子句中使用子查询时,必需给子查询指定别名

     

    分面查询

    按雇员的id号升序取出

    --请显示第5个到第10个入职的雇员信息(按照入职的时间先后顺序查找)

    --分析:1、显示第1个到第4个入职的雇员

    select  top 4 * from  emp order by hiredate

    --top后的数表示要取出几条记录

    select top 6 * from  emp where empno not in(select top 4 empno from emp order by hiredate) order byhiredate

     

    --请显示第11个到13个入职的雇员信息

    select top 3 * from  emp where empno not in(select top 10 empno from emp order by hiredate) order byhiredate

     

    --请显示第5个到9个入职的雇员信息(按薪水高低排序)

    select top 5 * from  emp where empno not in(select top 4 empno from emp order by sal desc) order bysal desc

     

    用查询结果创建新表

    这个命令是一种快捷的建表方法

    select *(这里可以选择字段) into另一个表名 from 表

     

    --如何删除掉一张表重复记录

    create table cat(

    catId int,

    catName varchar(40)

    )

     

    insert into catvalues(1,'aa')

     

    select * from cat

     

    --1、把cat表的记录distinct后的结果,放到临时表中

    select  distinct * into #temp from cat

    --2、把cat表的记录清空

    delete  from cat

    --3、把临时表中的数据信息加入到cat表中

    insert  into cat select * from #temp

    --4、删除临时表

    drop table#temp

     

     

    --左外连接和右外连接

    --思考题:显示公司每个员工和他的上级领导的名字

    --内连接的处理方式(内连接只显示匹配的信息)

    select  worker.ename"员工名字",boss.ename"领导名字" from emp worker,emp boss where worker.mgr=boss.empno

     

    --思考题:显示公司每个员工和他的上级领导的名字,没有上级领导的也要显示出来

    --左外连接:指如果左边的表记录全部显示,如果没有匹配的记录,就用null填写

    select  worker.ename"员工名字",boss.ename"领导名字" from emp worker left join emp boss on worker.mgr=boss.empno

    --右外连接:指如果右边的表记录全部显示,如果没有匹配的记录,就用null填写

    select  worker.ename"员工名字",boss.ename"领导名字" from emp worker right join emp boss on worker.mgr=boss.empno

     

    维护数据的完整性--约束

    约束用于确保数据库数据满足特定的商业规则。在sql server和oracle中,约束包括:not null、unique,primary key,foreign key和check五种

     

    维护数据的完整性--使用

    not null(非空)

    如果在列上定义了not null,那么当插入数据时,必需为列提供数据。

    --约束机制--not null(非空)

    --创建一张表

    create table test1

    (test1Id int primarykey identity(1,1),

    testname varchar(30)not null,--not null不能为空

    testpass varchar(30)not null,

    testage int --不写代表可以为空

    )

     

    create table test1

    (test1Id int primarykey identity(1,1),--identity(1,1)自增长1条记录

    testnamevarchar(30),

    testpassvarchar(30),

    testage int --不写代表可以为空

    )

    --删除表

    drop table test1

    --向表插入数据

    insert into test1(testage) values (3)

    insert into test1 (testname,testpass,testage)values ('','',5)--''空与null空是不一样的

    --查询表内容

    select * from test1

     

    unique(唯一)(一张表中可以有多个)

    当定义了唯一约束后,该列值是不能重复的,但是可以为null,并只能有一个空值

    --约束机制--unique(唯一)

    --建表

    create table test2

    (test1Id int primarykey identity(1,1),--identity(1,1)自增长1条记录

    testname varchar(30)unique, --unique唯一的,数据不允许重复,但可以为空

    testpassvarchar(30),

    testage int --不写代表可以为空

    )

     

    insert into test2(testname,testpass,testage) values ('aa','123',45)

    insert into test2(testpass,testage) values ('123',45)

     

    select * from test2

     

    primarykey(主键)(一张表中只可以有一个主键)

    用于唯一的标示表行的数据,当定义主键约束后,该列不但不能重复而且不能为null

    需要说明的是:一张表最多只能有一个主键,但是可以有多个unqiue约束。

    表可以有复合主键,有多个列构成一个主键

    --复合主键

    create table test3

    (testId int,

    testnamevarchar(30),

    testpassvarchar(30),

    testage int,

    primary key(testId,testname)--复合主键,需单独声明

    )

     

    --行级定义和表级定义

    create table test4

    (testId int,--在字段中定义主键为行级定义.例:testId int primary key

    testnamevarchar(30),

    testpassvarchar(30),

    testage int,

    primarykey (testId,testname)--复合主键,需单独声明为表级定义

    )

     

    foreignkey(外键)(外键在从表上,要配合主表,但主表要有主键或unique约束)

    用于定义主表和从表之间的关系。外键约束要定义在从表上,主表则必需具有主键约束或是unique约束,当定义外键约束后,要求外键列数据必需在主表的主键列存在或是null

     

    check(强制条件)

    用于强制行数据必需满足的条件,假定在sal列上定义了check约束,并要求sal列值在1000-2000之间如果不再1000-2000之间就会提示出错。

    --check(强制条件)

    create table test5

    (testId int,

    testnamevarchar(30),

    testpass varchar(30),

    sal intcheck(sal>=1000 and sal<=2000),--规定sal的值在1000-2000之间

    )

     

    insert into test5values (4,'aa','aa',1200)--可以加入sal值在范围之内

    insert into test5values (5,'bb','bb',2200)--不可加入sal值在范围之外

     

    select * from test5

     

    default使用(默认值)

    --default使用

    create table mes

    (mesId int primarykey identity(1,1),

    mesccn varchar(2000)not null,

    mesDate datetimedefault getdate()--在不指定值是default可以直接取默认值,也可以由用户指定值

    )

     

    insert into  mes(mesccn) values('abc')

    insert into  mes(mesccn,mesDate) values('cba','1976-1-6')

     

    select * from mes

     

    商店售货系统表设计案例

        现有一个商店的数据库,记录客户及其购物情况,由下面三个表组成:

    商品goods(商品号goodsId,商品名goodsName,单价unitprice,商品类别category,供应商provider);

    客户customer(客户号customerId,姓名name,住址address,电邮email,性别sex,身份证cardId);

    购买purchase(客户号customerId,商品号goodsId,购买数量nums);

    请使用sql语言完成下列功能:

    1、建表,在定义中要求声明:

    1、每个表的主外键;

    2、客户的姓名不能为空值;

    3、单价必需大于0,购买数量大于0;

    4、电邮不能够重复;

    5、客户的性别必需是男或者女,默认为男

    6、商品类别是'食物','日用品'

    --商店售货系统表设计案例

    create table goods--商品表

    (goodsIdnvarchar(50) primary key,--商品Id为主键

    goodsNamenvarchar(80) not null,--商品名不为空

    unitpricenumeric(10,2) check (unitprice>0),--商品单价限制大于0

    category nvarchar(3)check(category in('食物','日用品')),--商品类别需在指定的范围内

    provide nvarchar(50)--供应商

    )

     

    create tablecustomer--客户表

    (custcmerIdnvarchar(50) primary key,--客户Id为主键

    cusname nvarchar(50)not null,--客户名不能为空

    address nvarchar(100),--地址

    email nvarchar(100)unique,--邮件不为重复

    sex nchar(1)check(sex in('男','女')) default '男',--性别只能为男或女,默认为男

    cardId nvarchar(18)--身份证

    )

     

    create tablepurchase--购买表

    (custcmerIdnvarchar(50) foreign key references customer(custcmerId),--客户Id为外键,并指向customer表的custcmerId主键

    goodsId nvarchar(50)foreign key references goods(goodsId),--商品Id为外键,并指向goods表的goodsId主键

    nums intcheck(nums>0)--购买数量限定大于0

    )

     

    表的管理--修改表

    添加一个字段

    ALTERTABLE distributors ADD COLUMN address varchar(30);

     

    修改字段的类型/或是名字(不能有数据)

    ALTERTABLE distributors

        ALTER COLUMN address TYPE varchar(80),

        ALTER COLUMN name TYPE varchar(100);

    ALTERTABLE distributors RENAME COLUMN address TO city;

     

    删除一个字段

    ALTERTABLE distributors DROP COLUMN address RESTRICT;

     

    修改表的名字

    ALTERTABLE distributors RENAME TO suppliers;

     

    删除表

    drop table表名;

     

    数据库的备份和恢复

    使用企业管理器完成备份和恢复

    使用企业管理器有两种方式完成备份和恢复

    1、分离/附加

        分离完后,请到sql server安装的目录下去找两个文件数据库名.mdf和数据库名.ldf,这两个文件就是分离后的文件,数据库分离后,该数据库就不能再使用了。

        附加是指,当用户需要重新使用某个分离的数据库时进行的操作,就是让sql server数据库重新关联该数据库。

     

    2、备份/恢复

        备份数据库是指,把某个数据库文件从sql server中备份出来,这样用户可以根据需要再使用(用于恢复、复用..),备份数据库不会影响到源数据库的使用

        恢复数据库是指,当源数据库因为某种原因(比如源数据库毁坏、数据丢失、系统崩溃)需要恢复时进行的操作

     

    使用查询分析器完成备份和恢复

        用企业管理器完成对数据库的备份和恢复简单直观,同样我们也可以在查询分析器中完成类似的任务。

    --使用查询分析器对数据库进行备份和恢复

    --数据库备份

    --语法:backup database数据库名 to disk='存储路径'

    backup  database LiangshanHero2 to disk='f:/liangshan.bak'

     

    --数据库恢复

    --语法:restore database数据库名 from disk='读取路径'

    restore  database LiangshanHero2 from disk='f:/liangshan.bak'

     

    --新建数据库

    --语法:create datebase数据库名

    create  database LiangshanHero2

     

    --删除数据库

    --语法:drop database数据库名

    drop  database LiangshanHero2

     

    *******************************************************************************

     

    展开全文
  • 含有Sql Server Express数据库文件的WPF 能在没有装Sql Server的电脑上运行么? 如果可以,打包时要注意什么?
  • Linux下安装及操作SQL数据库

    千次阅读 2016-08-17 07:23:58
    ————————————————...安装配置:SQL数据库 邮箱:leiyuxing205@gmail.com ——————————————————————————————————————— 一.SQL数据库简介 1.定义 SQL是Structured

     

    ———————————————————————————————————————

    主机操作系统:Centos 6.7

    安装配置:SQL数据库
    邮箱:leiyuxing205@gmail.com
    ———————————————————————————————————————

    一.SQL数据库简介

    1.定义

    SQL是Structured Query Language(结构化查询语言)的缩写。SQL是专为数据库而建立的操作命令集,是一种功能齐全的数据库语言。在使用它时,只需要发出“做什么”的命令,“怎么做”是不用使用者考虑的。SQL功能强大、简单易学、使用方便,已经成为了数据库操作的基础,并且现在几乎所有的数据库均支持SQL

    2.体系

    SQL数据库的数据体系结构基本上是三级结构,但使用术语与传统关系模型术语不同。在SQL中,关系模式(模式)称为“基本表”(base table);存储模式(内模式)称为“存储文件”(stored file);子模式(外模式)称为“视图”(view);元组称为“行”(row);属性称为“列”(column)。

    3.优点

    1)非过程化语言
    2)统一的语言
    3)是所有关系数据库的公共语言

     

    4.组成

    1.一个SQL数据库是表(Table)的集合,它由一个或多个SQL模式定义。

    2.一个SQL表由行集构成,一行是列的序列(集合),每列与行对应一个数据项
    3.一个表或者是一个基本表或者是一个视图。基本表是实际存储在数据库的表,而视图是由若干基本表或其他视图构成的表的定义。
    4.一个基本表可以跨一个或多个存储文件,一个存储文件也可存放一个或多个基本表。每个存储文件与外部存储上一个物理文件对应。
    5.用户可以用SQL语句对视图和基本表进行查询等操作。在用户角度来看,视图和基本表是一样的,没有区别,都是关系(表格)。
    6.SQL用户可以是应用程序,也可以是终端用户。SQL语句可嵌入在宿主语言的程序中使用,宿主语言有FORTRAN,COBOL,PASCAL,PL/I,C和Ada语言等。SQL用户也能作为独立的用户接口,供交互环境下的终端用户使用。

     

    二.检查硬件是否满足要求

    1.确保系统有足够的 RAM 和交换空间大小,运行以下命令:

    #grep MemTotal /proc/meminfo
    
    #grepSwapTotal /proc/meminfo
    
    $ grep MemTotal /proc/meminfo
    
    MemTotal:        1939728 kB
    
    $ grep SwapTotal /proc/meminfo
    
    SwapTotal:       4194300 kB

    注:所需最小 RAM 为 512MB,而所需最小交换空间为 1GB。对于 RAM 小于或等于 2GB 的系统,交换空间应为 RAM 数量的两倍;对于 RAM 大于 2GB 的系统,交换空间应为 RAM 数量的一到两倍。

    2.确保有足够的磁盘空间。Oracle 10g软件大约需要 2.5GB 的可用磁盘空间,数据库则另需至少1.2G的磁盘空间

    3./tmp 目录至少需要 400MB 的可用空间。

     要检查系统上的可用磁盘空间,运行以下命令:

    $ df -h
    
    Filesystem      Size  Used Avail Use% Mounted on
    
    /dev/sda2        26G   11G   14G  46% /
    
    tmpfs           948M  312K  947M   1% /dev/shm

    4.检查系统是否已安装所需的开发包,使用rpm -qa命令,确保以下包已成功安装,若还没安装可到以下地址进行先下载:

    http://www.sqlite.org/download.html

    解压并编译sqlite-autoconf-3140100

    [leiyuxing@centos6 ~]$ tar -zxvf sqlite-autoconf-3140100.tar.gz
    
    [leiyuxing@centos6 ~]$ cd sqlite-autoconf-3140100
    
    [leiyuxing@centos6 sqlite-autoconf-3140100]$ ./configure
    
    [leiyuxing@centos6 sqlite-autoconf-3140100]$ make
    
    [leiyuxing@centos6 sqlite-autoconf-3140100]$ sudo make install

     

    三.数据库管理

    1.创建数据库文件

    [leiyuxing@centos6 sqlite-autoconf-3140100]$ sqlite3 mydbtest
    
    SQLite version 3.14.1 2016-08-11 18:53:32
    
    Enter ".help" for usage hints.
    
    sqlite>

    出现sqlite>提示符

     

    2.查看目前的数据库。注意数据库操作命令以 ”.”开头。

    sqlite> .database
    
    seq  name             file                                                      
    
    ---  ---------------  ----------------------------------------------------------
    
    0    main             /home/leiyuxing/sqlite-autoconf-3140100/mydbtest  

     

    列出当前使用的数据库mydbtest

    数据库mydbtest文件创建在执行命令# sqlite3 mydbtest时,命令行所在的目录。

     

    3.创建表

    sqlite> create table mytable(name varchar(80),num smallint);

     

    4.列出表

    查看创建了哪些表

    sqlite> .tables
    
    Mytable

     

    5.查找某个表

    sqlite> .tables my
    
    sqlite> .tables mytable
    
    Mytable

     

    6.插入记录

    sqlite> insert into mytable values('su',21);
    
    sqlite> insert into mytable values('tang',20);
    
    sqlite> insert into mytable values('lei',22);

     

    7.查询

    sqlite> select * from mytable;
    
    su|21
    
    tang|20
    
    lei|22

     

    8.模式查看表结构

    sqlite> .schema
    
    CREATE TABLE mytable(name varchar(80),num smallint);

     

    9.从文件向表中导入数据

    创建文件data.txt,内容如下

    [leiyuxing@centos6 sqlite-autoconf-3140100]$ vim data.txt
    
    LTian Hong|19
    
    Eng Lish|20
    
    Gao Yuan|23
    
    Wei Da|26

    其中“|”是分隔符,分隔符左右不要有空格

    导入数据前查询

    sqlite> select * from mytable;
    
    su|21
    
    tang|20
    
    lei|22

    导入数据

    sqlite> .import data.txt mytable
    
    data.txt:2: expected 2 columns but found 1 - filling the rest with NULL
    
    data.txt:4: expected 2 columns but found 1 - filling the rest with NULL
    
    data.txt:6: expected 2 columns but found 1 - filling the rest with NULL

    导入数据后查询

    sqlite> select * from mytable;
    
    su|21
    
    tang|20
    
    lei|22
    
    n Hong|19
    
    |
    
    Eng Lish|20
    
    |
    
    Gao Yuan|23
    
    |
    
    Wei Da|26

     

    10.生成形成数据库表的SQL脚本

    sqlite> .dump mytable
    
    PRAGMA foreign_keys=OFF;
    
    BEGIN TRANSACTION;
    
    CREATE TABLE mytable(name varchar(80),num smallint);
    
    INSERT INTO "mytable" VALUES('su',21);
    
    INSERT INTO "mytable" VALUES('tang',20);
    
    INSERT INTO "mytable" VALUES('lei',22);
    
    INSERT INTO "mytable" VALUES('n Hong',19);
    
    INSERT INTO "mytable" VALUES('',NULL);
    
    INSERT INTO "mytable" VALUES('Eng Lish',20);
    
    INSERT INTO "mytable" VALUES('',NULL);
    
    INSERT INTO "mytable" VALUES('Gao Yuan',23);
    
    INSERT INTO "mytable" VALUES('',NULL);
    
    INSERT INTO "mytable" VALUES('Wei Da',26);
    
    COMMIT;

     

    11.数据导出

    将输出定向到文件

    sqlite> .output create.sql
    
    sqlite> .dump mytable

    将数据库表生成的SQL脚本输出到create.sql文件

     

    12.将输出恢复到标准输出

    sqlite> .output stdout

    打印SQLite环境变量到设置

    sqlite> .show
    
            echo: off
    
             eqp: off
    
         explain: auto
    
         headers: off
    
            mode: list
    
       nullvalue: ""
    
          output: stdout
    
    colseparator: "|"
    
    rowseparator: "\n"
    
           stats: off
    
           width:

    退出数据库,使用.quit或.q

    sqlite> .quit
    
    [leiyuxing@centos6 sqlite-autoconf-3140100]$

     

    四.特殊用法

    命令行下直接使用

    [leiyuxing@centos6 sqlite-autoconf-3140100]$ sqlite3 mydbtest "select * from mytable;"
    
    su|21
    
    tang|20
    
    lei|22
    
    n Hong|19
    
    |
    
    Eng Lish|20
    
    |
    
    Gao Yuan|23
    
    |
    
    Wei Da|26
    
    

    五.安装rlwrap完成上下方向键寻找历史命令

    1.下载rlwrap工具

     http://download.csdn.net/detail/sharqueen/5433087

    2.安装rlwrap

    [leiyuxing@centos6 ~]$ tar -zxf rlwrap-0.30.tar.gz
    
    [leiyuxing@centos6 ~]$ cd rlwrap-0.30
    
    [leiyuxing@centos6 rlwrap-0.30]$ ./configure
    
    [leiyuxing@centos6 rlwrap-0.30]$ make
    
    [leiyuxing@centos6 rlwrap-0.30]$ sudo make install

    3.查看rlwrap命令

    [leiyuxing@centos6 rlwrap-0.30]$ rlwrap
    
    Usage: rlwrap [options] command ...

     

    Options:
    
      -a[password:]              --always-readline[=password:]
    
      -A                         --ansi-colour-aware
    
      -b <chars>                 --break-chars=<chars>
    
      -c                         --complete-filenames
    
      -C <name|N>                --command-name=<name|N>
    
      -D <0|1|2>                 --history-no-dupes=<0|1|2>
    
      -f <completion list>       --file=<completion list>
    
      -F <format string>         --history-format=<format string>
    
      -h                         --help
    
      -H <file>                  --history-filename=<file>
    
      -i                         --case-insensitive
    
      -l <file>                  --logfile=<file>
    
      -n                         --no-warnings
    
      -p[ANSI colour spec]       --prompt-colour[=ANSI colour spec]
    
      -P <input>                 --pre-given=<input>
    
      -q <chars>                 --quote-characters=<chars>
    
      -m[newline substitute]     --multi-line[=newline substitute]
    
      -r                         --remember
    
      -v                         --version
    
      -s <N>                     --histsize=<N> (negative: readonly)
    
      -t <name>                  --set-term-name=<name>
    
     
    
    bug reports, suggestions, updates:
    
    http://utopia.knoware.nl/~hlub/uck/rlwrap/

    4.使用rlwrap

    vim ~/.bash_profile

    --使之生效,或是重新登录sql用户

    [leiyuxing@centos6 ~]$ source  ~/.bash_profile
    
    [leiyuxing@centos6 ~]$ sqlplus mydbtest
    
    SQLite version 3.14.1 2016-08-11 18:53:32
    
    Enter ".help" for usage hints.
    
    sqlite>

    就可以在输入 sqlplusmydbtest之后的命令行里面实现上下寻找历史命令

     

       

    展开全文
  • c#连接Sql 数据库步骤图解

    万次阅读 多人点赞 2013-12-29 16:31:34
    我等屌丝终于接触数据库了,打算使用c#的窗体程序操作数据库,今天刚安装好SQL Server 2008,按照网上的教程编写好c#程序结果出现用户登录失败的,现将的步骤截图保存...一、创建SQL数据库 1、开始\所有程序\SQL Server

    PC系统:win7

    数据库版本:SQL Server 2008

    开发环境:Visual Studio 2012

     

    我等屌丝终于接触数据库了,打算使用c#的窗体程序操作数据库,今天刚安装好SQL Server 2008,按照网上的教程编写好c#程序结果出现用户登录失败的,现将的步骤截图保存,包括数据库建立和c#窗体程序。

    一、创建SQL数据库

    1、开始\所有程序\SQL Server Management Studio,打开SQL Server Management Studio

    2、出现连接到服务器的对话框

    注意我这里使用的身份验证使用的是Windows  身份验证,这里很有关系的!下边会有说明。

    点击“连接”

    3、在“数据库”处,鼠标右击,选择“新建数据库”

    4、首先,数据库名称命名为“Test”,其他保持默认,然后点击“确定”即可

    5、可以看到,已经有咱们新建好的数据库了

    到这里,关于数据库的操作已经完成了,下面创建c#的窗体程序

    二、创建c#窗体

    1、开始\所有程序\...\Visual Studio 2012

    2、开始\新建\项目

    3、创建一个名称为“操作数据库实例的”窗体程序

    4、向窗体中添加一个"Button"  控件,双击该按钮控件

    5、添加访问数据库的命名空间 using System.Data.SqlClient;

    6、在按钮处理事件中,添加如下语句

                try
                {   //声明一个用于存储连接数据库的字符串
                    string ConStr = "server=.;database=Test;Trusted_Connection=SSPI";
                    //创建一个SqlConnection对象
                    SqlConnection conn = new SqlConnection(ConStr);
                    //连接指定的数据库
                    conn.Open();
                    if (conn.State == ConnectionState.Open)
                    {
                        MessageBox.Show("连接数据库成功" , "狗熊王提示");
                    }
                    else
                    {
                        MessageBox.Show("连接数据库失败", "狗熊王提示");
                    }

                }
                catch (Exception ex)
                {
                    MessageBox.Show("Error:" + ex.Message,"狗熊王提示");
                }

     

    注意,这里的重点是连接字符串的初始化,我看到的网上的有两种写法,一种是我这个

    string ConStr = "server=.;database=Test;Trusted_Connection=SSPI";

    还有一种是

    string ConStr = "server=.;database=Test;uid=用户名;pwd=用户密码";

    因为我装SQL SERVER 的时候没有定义SQL服务器的用户名和密码,而是选择的“Windows 登录”,所以这里要用 Trusted_Connection=SSPI 代替 uid=用户名;pwd=用户密码。

    其中的含义:server:数据库的服务器,其中的“.”表示本机

                             database:数据库名称。

                             Trusted_Connection:安全验证方式。SSPI表示使用当前的windows凭据进行安全验证

    7、F6编译,再Ctrl+F5执行,按下按钮后

     

    实验成功了,哎呦我去,这南方的冬天也太冷了,没有暖气,手都冻僵了,还是开空调吧,哎,实习容易么

    展开全文
  • matlab连接sql数据库

    千次阅读 2016-01-11 12:02:52
    最近项目还涉及到matlab连接数据库,下面我就记录如何进行配置使得matlab能够连接sql数据库。由于最近工程做的多一些,所以分享的都在工程配置上,当初为了这些配置可是反复卸载与重,算法其实也有,但是现在还没...
  • 关于sql数据库附加不上的问题

    千次阅读 2019-11-03 19:59:48
    因为昨天把系统重之后sql数据库没了,结果从同学那里拷来的数据库还附加不上,弄了半小时,总结出了两个重要的办法。 方法一: 1.找到要添加数据库的.mdf文件,点击右键,选择属性。 2.在属性页面点击安全,选择...
  • “更改”数据源为:MicrosoftSQL Server数据库文件; “浏览”并选择数据库文件; “使用Windows身份验证”; “测试连接”。 若连接成功,确定后在左侧“服务器资源管理器”的“数据连接”中便会看到你...
  • SQL数据库安全性

    万次阅读 多人点赞 2012-08-22 14:35:06
    许多Windows系统管理员,还兼职着微软SQL Server数据库管理员(DBA)的身份。另一方面,企业将许多机密的信息存储到了SQL Server数据库中。作为一名DBA新手,则需要了解SQL Server的安全模式和如何配置其安全设置...
  • OLEDB连接SQL数据库

    千次阅读 2007-11-02 15:57:00
    我在使用OLEDB连接SQL数据库时遇到了些问题:错误:"在连接到 SQL Server 2005 时,在默认的设置下 SQL Server 不允许进行远程连接可能会导致此失败。 (provider: 命名管道提供程序, error: 40 - 无法打开到 SQL ...
  • C#连接MySql和Sql数据库

    千次阅读 2017-05-13 21:56:50
    在学习了C#与数据库访问技术总结(七)综合示例后,尝试用连接MySql和使用...Microsoft SQL Server Management Studio--->用来创建Sql数据库 1> 连接MySql with net mode 如果连接的是Mysql数据库,需要引用MySql.
  • VC++与SQL数据库连接

    千次阅读 2006-12-06 20:36:00
    郁闷了一天了!开始是XP系统,实在是不上SQL2000,上了用不了。实在太郁闷了,最后换了系统了!了2000,顺利安装成功SQL2000,高兴啊!...以下是正确的连接方法:///类ADOConn负责连接SQL数据库:(VC++S
  • sql 数据库创建及建表,

    千次阅读 2018-03-29 17:31:46
    2、开始连接SQL SERVER服务器,就是我们好的SQL SERVER 服务器;3、如图,右击数据库,选择第一个,新建一个数据库;4、填写数据库的名称(箭头方向),下面是设置自动增长的,一般不用管,默认5、点击确定后就...
  • 我的电脑是win10系统,SQL2008和SQL2017,SQL2018能正常连接服务器,2017却不能,所有服务已开启,防火墙也取消拦截,请大神指点迷津!!![![![![图片说明]...
  • sql数据库的分离: sql数据库企业管理器---->所要分离的数据库------所有任务----点击分离数据库 (首先要把链接先删除)确定就可以 sql数据库的附加: 先把数据文件和日志文件放到目录下边 D:/Program Files/...
  • SQL数据库的下载与安装

    千次阅读 2019-10-15 19:49:43
    1.首先下载SQLServer2017下载地址 选择developer版本下载 点击安装 选择自定义安装 点击安装 选择安装 选择安装全新的SQL 基本按照提示进行下一步,有部分无需进行操作,直接按照提示下一步的页面...
  • SQL数据库安装在服务器端,想从本地客户端远程连接SQL数据库,连接不上,怎么排查原因?下面介绍了一些思路供大家参考!本文以SQL server 2008R2为例进行讲解! 一.启用TCP/IP协议: 1、打开SQL配置管理器; 2、...
  • Windows下python3 连接SQL数据库

    千次阅读 2017-10-01 17:08:49
    前几天SQL Server Management Studio突然打不开了,提示缺少组件,需要重新安装,我修复和重新安装依然打不开,搜索Google发现是Visual Studio 2015 Shell的问题,修复Visual Studio 2015后果然SQL Server ...
  • VB连接SQL数据库实例

    千次阅读 2011-08-25 12:55:25
    其中,ADODB.Command、ADODB.Connection、ADODB.Recordset可能刚好的环境声明时没有这些对象,添加这些对象的方法: 选择 “Project(即项目)” --> " References...(即引用)" 打开 References窗口,在列表...
  • sql 数据库还原后无法登陆的问题

    千次阅读 2011-05-28 13:07:00
    sqlserver 是根据这个 ID 来识别的)*所谓的孤立帐户,就是某个数据库的帐户只有用户名而没有登录名,这样的用户在用户库的sysusers系统表中存在,而在master数据库的syslogins中却没有对应的记录。* 孤立帐户...
  • 系统,sql server 数据库 如何备份,好系统后又如何还原?解决方法:备份sql 数据库目录下的data目录下的所有数据及所有您放在其它目录下的数据库文件。系统把以上备份的文件又放回原处启动服务就可以了,...
  • 关于SQL数据库的异地备份(一)

    万次阅读 2017-04-25 18:18:26
    这几天一直忙着做数据库的异地备份,根据上级领导的...但执行时总是提示找不到指定路径(NAS存储的路径),折腾了两天,终于找到一个好工具及利用NAS上的iscsi 功能实现,下面就来说说将Sql 数据库备份到NAS 存储上的
  • 一、迁移的意义: 1,一般就是从C盘移动其他分区; 2,从这个硬盘移动其他硬盘,数据库还是正常启动; 3,为一般的数据库迁移做准备; ...二、系统数据库迁移主要...一般默认SQlServer数据库安装完成后,SQLServer的...
  • 刚重了一遍系统,要重新配置myeclipse还要把之前的做的网页信息导进去,其实myeclipse和tomca服务器t配置的已经是一波三折了,由于网上诸多的网盘链接失效,我一直想安装2015 stable2.0版一直找不到合适的连接,...
  • Redis,三大主流开源 NoSQL 数据库的 PK 两大主流传统 SQL 数据库类别HBaseMongoDBMySQLOracleRedis描述基于 Apache Hadoop 并提供 BigTable 能力的列存储最受欢迎的文档存储数据库之一广泛使用的开源 RDBMS广泛...
  • PowerDesigner连接sqlserver数据库

    千次阅读 2019-05-24 17:32:05
    PowerDesigner连接SqlServer数据库有两种方法,一种采用ODBC数据库源连接方式,一种采用jdbc驱动连接方式。由于ODBC方式网上有很多,本文将给大家介绍如何使用jdbc驱动连接sqlserver数据库。 第一步:安装jdk1.7 32...
  • HBase vs. MongoDB vs. MySQL vs. Oracle vs. Redis,对比 类别 HBase MongoDB MySQL Oracle ...最受欢迎的文档存储数据库之一 广泛使用的开源 RDBMS 广泛使用的 RDBMS 内存中的数据结
  • VS2012如何添加SQL数据库

    万次阅读 2014-02-05 13:25:19
    VS2012没有安装SQL Server速成版,而是安装了SqlLocalDB。如要连接到SqlLocalDB,请输入(localdb)\v11.0。
  • 教你如何在jsp里连接sql数据库

    千次阅读 2008-11-25 19:30:00
    又到了每年一度交毕业设计的时候了,同学问我借我在苏州实习的时候做的一个用jsp的购物网站,我翻出好久前的源程序,在机器上装了eclipse+myeclipse插件+sql 2000数据库+tomcat5.5+jdk1.6.0,原以为装完这些,设完...
  • Windows常用数据库接口是odbc接口,另外还有ADO, OLE DB接口,当然,和odbc相比,它们的学习基本上是一通百通的,数据库互动,基本上成了一个定式,创建数据库链结->创建语句对象->执行SQL命令->访问执行结果集->...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 169,513
精华内容 67,805
关键字:

怎么装sql数据库