当前位置:文档之家› 数据库RAC添加新节点的操作步骤(门户数据库PDSDB)

数据库RAC添加新节点的操作步骤(门户数据库PDSDB)

数据库RAC添加新节点的操作步骤(门户数据库PDSDB)
数据库RAC添加新节点的操作步骤(门户数据库PDSDB)

数据库RAC添加新节点的操作步骤

安装pdsrac的新节点

1.在两个节点分别安装vnc

wget https://www.doczj.com/doc/e77717762.html,/dist/vnc-4.0-x86_linux.tar.gz

tar -xzvf vnc-4.0-x86_linux.tar.gz

./vncinstall /usr/local/bin

mkdir -p /usr/local/vnc/classes

cp java/* /usr/local/vnc/classes

vncserver

2.添加网卡

参数说明:

DEVICE=物理设备名

IPADDR=IP地址

NETMASK=掩码值

NETWORK=网络地址

BROADCAST=广播地址

GATEWAY=网关地址

ONBOOT=[yes|no](引导时是否激活设备)

USERCTL=[yes|no](非root用户是否可以控制该设备)

BOOTPROTO=[none|static|bootp|dhcp](引导时不使用协议|静态分配|BOOTP协议|DHCP协议)

HWADDR = 你的MAC地址

在/etc/sysconfig/network-scripts/下创建虚拟网卡bond0的配置文件ifcfg-bond0

cd /etc/sysconfig/network-scripts/

vi ifcfg-bond1

DEVICE=bond1

BOOTPROTO=none

BORADCAST=192.168.220.255

IPADDR=192.168.220.12

NETMASK=255.255.255.0

NETWORK=192.168.220.0

ONBOOT=yes

TYPE=Ethernet

分别修改原来网卡配置文件的信息,删除其中的IP 地址、子网掩码等信息

vi ifcfg-eth0

DEVICE=eth0

ONBOOT=yes

BOOTPROTO=none

MASTER=bond0

SLAVE=yes

USERCTL=yes

vi ifcfg-eth1

DEVICE=eth1

ONBOOT=yes

BOOTPROTO=none

MASTER=bond0

SLAVE=yes

USERCTL=yes

vi ifcfg-eth2

# Broadcom Corporation NetXtreme II BCM5708 Gigabit Ethernet DEVICE=eth2

HWADDR=00:24:E8:56:4E:88

ONBOOT=yes

BOOTPROTO=none

MASTER=bond1

SLAVE=yes

USERCTL=yes

HOTPLUG=no

vi ifcfg-eth3

# Broadcom Corporation NetXtreme II BCM5708 Gigabit Ethernet DEVICE=eth3

HWADDR=00:24:E8:56:4E:8A

ONBOOT=yes

MASTER=bond1

USERCTL=yes

SLAVE=yes

BOOTPROTO=none

HOTPLUG=no

3.配置驱动模块参数:/etc/modprobe.conf

alias bond0 bonding

options bond0 miimon=100 mode=1

alias eth0 bnx2x

alias eth1 bnx2x

alias bond1 bonding

options bond1 miimon=100 mode=1

alias eth2 bnx2x

alias eth3 bnx2x

aliasscsi_hostadaptercciss

aliasusb-controller uhci-hcd

alias usb-controller1 ehci-hcd

alias scsi_hostadapter1 qla2xxx

optionshangcheck-timer hangcheck_tick=30 hangcheck_margin=180

说明:

(1)、miimon是链路监测的时间间隔单位是毫秒,miimon=100的意思就是,每100毫秒检测网卡和交换机之间是否连通,如不通则使用另外的链路。

(2)、mode=0 表示负载均衡方式,两块网卡都工作,需要交换机作支持

mode=1 表示冗余方式,网卡只有一个工作,一个出问题启用另外的

mode=6 表示负载均衡方式,两块网卡都工作,不需要交换机作支持

设置开机绑定

[root@BJ-FT-1F-120-12 etc]# cat /etc/rc.local

#!/bin/sh

#

# This script will be executed *after* all the other init scripts.

# You can put your own initialization stuff in here if you don't

# want to do the full Sys V style init stuff.

touch /var/lock/subsys/local

/usr/sbin/ntpdate https://www.doczj.com/doc/e77717762.html,&

/sbin/modprobehangcheck_timer

/usr/local/sbin/oraraw.sh

service network restart

ifenslave bond eth2 eth3

modprobehangcheck-timer hangcheck_tick=30 hangcheck_margin=180

重启网络

service network restart

cat /proc/net/bonding/bond0

cat /proc/net/bonding/bond1

4.创建用户

groupadd -g 200 dba

groupadd -g 201 oinstall

useradd -u 300 -g oinstall -G dba -d /home/oracle -s /bin/bash -m oracle

vi /home/oracle/.bash_profile

export ORACLE_BASE=/apps/oracle

export ORACLE_HOME=$ORACLE_BASE/product/10.2.0

export CRS_HOME=$ORACLE_BASE/crs

export

PATH=$CRS_HOME/bin:$ORACLE_HOME/jdk/bin:/usr/kerberos/bin:/usr/local/bin:/bin:$PATH:/us r/bin:/usr/X11R6/bin:/home/oracle/bin:$ORACLE_HOME/bin

export ORACLE_OWNER=oracle

export LD_LIBRARY_PATH=:$ORACLE_HOME/Slib

export NLS_LANG=American_america.zhs16gbk

export ORACLE_TERM=xterm

export AGENT_HOME=$ORACLE_BASE/agent10g

aliasmsh='cd $ORACLE_BASE/admin/msh'

export ORACLE_SID=pdsdb1

5.修改hosts

vi /etc/hosts

192.168.120.11 BJ-FT-1F-120-11

192.168.120.12 BJ-FT-1F-120-12

192.168.120.13 BJ-FT-1F-120-13

192.168.120.14 BJ-FT-1F-120-14

192.168.120.21 ftpds_vip1

192.168.120.22 ftpds_vip2

192.168.120.23 ftpds_vip3

192.168.120.24 ftpds_vip4

192.168.220.21 ftpds_priv1

192.168.220.22 ftpds_priv2

192.168.220.23 ftpds_priv3

192.168.220.24 ftpds_priv4

6.配置信任关系

[oracle@BJ-FT-1F-120-12 ~]$

mkdir ~/.ssh

chmod 755 ~/.ssh

/usr/bin/ssh-keygen -t rsa

/usr/bin/ssh-keygen -t dsa

[root@BJ-FT-1F-120-11 ~]#

cp /home/oracle/.ssh/authorized_keys rac1.authorized_keys

scp rac1.authorized_keys shexiang@192.168.106.10:/192.168.120.12/root/home/oracle

[root@BJ-FT-1F-120-12 ~]#

chownoracle:dba rac1.authorized_keys

[oracle@BJ-FT-1F-120-12 ~]$

mv rac1.authorized_keys .ssh/

cd .ssh/

mv rac1.authorized_keys authorized_keys

cat id_rsa.pub >>authorized_keys

cat id_dsa.pub >>authorized_keys

cpauthorized_keys rac2.authorized_keys

[root@BJ-FT-1F-120-12 .ssh]#

scp /home/oracle/.ssh/rac2.authorized_keys shexiang@192.168.106.10:/192.168.120.14/root/home/oracle

[oracle@BJ-FT-1F-120-14 ~]#

chownoracle:dba /home/oracle/rac2.authorized_keys

[oracle@BJ-FT-1F-120-14 ~]$

mkdir ~/.ssh

chmod 755 ~/.ssh

/usr/bin/ssh-keygen -t rsa

/usr/bin/ssh-keygen -t dsa

mv rac2.authorized_keys .ssh/

cd .ssh/

mv rac2.authorized_keys authorized_keys

cat id_rsa.pub >>authorized_keys

cat id_dsa.pub >>authorized_keys

cpauthorized_keys rac4.authorized_keys

[oracle@BJ-FT-1F-120-14 ~]#

scp /home/oracle/.ssh/rac2.authorized_keys shexiang@192.168.106.10:/192.168.120.11/root/home/oracle

scp /home/oracle/.ssh/rac2.authorized_keys shexiang@192.168.106.10:/192.168.120.12/root/home/oracle

scp /home/oracle/.ssh/rac2.authorized_keys shexiang@192.168.106.10:/192.168.120.13/root/home/oracle

[root@BJ-FT-1F-120-11 ~]#

chownoracle:dba rac4.authorized_keys

mv rac2.authorized_keys .ssh/

cd .ssh/

cpauthorized_keysauthorized_keys.old

mv rac2.authorized_keys authorized_keys

在每一个节点执行

ssh BJ-FT-1F-120-11 date

ssh BJ-FT-1F-120-12 date

ssh BJ-FT-1F-120-13 date

ssh BJ-FT-1F-120-14 date

ssh ftpds_priv1 date

ssh ftpds_priv2 date

ssh ftpds_priv3 date

ssh ftpds_priv4 date

7.修改核心参数

vi /etc/sysctl.conf

# Controls the maximum shared segment size, in bytes

kernel.shmmax = 68719476736

# Controls the maximum number of shared memory segments, in pages

kernel.shmall = 4294967296

kernel.core_uses_pid = 1

kernel.panic = 1

fs.file-max = 6815744

net.ipv4.ip_local_port_range = 9000 65000

# For 11g, recommended value for file-max is 6815744

# For 10g, uncomment 'fs.file-max 327679', comment other entries for this parameter and re-run sysctl -p

# fs.file-max:327679

kernel.msgmni = 2878

kernel.sem = 250 32000 100 142

kernel.shmmni = 4096

net.core.rmem_default = 1048576

# For 11g, recommended value for net.core.rmem_max is 4194304

net.core.rmem_max = 4194304

# For 10g, uncomment 'net.core.rmem_max 2097152', comment other entries for this parameter and re-run sysctl -p

# net.core.rmem_max=2097152

net.core.wmem_default = 262144

# For 11g, recommended value for wmem_max is 1048576

net.core.wmem_max = 1048576

# For 10g, uncomment 'net.core.wmem_max 262144', comment other entries for this parameter and re-run sysctl -p

# net.core.wmem_max:262144

fs.aio-max-nr = 3145728

# For 11g, recommended value for ip_local_port_range is 9000 65500

# For 10g, uncomment 'net.ipv4.ip_local_port_range 1024 65000', comment other entries for this parameter and re-run sysctl -p

# net.ipv4.ip_local_port_range:1024 65000

sysctl -p 立刻生效

vi /etc/security/limits.conf

oracle soft nproc 2047

oracle hard nproc 16384

oracle soft nofile 1024

oracle hard nofile 65536

vi /etc/pam.d/login

session required pam_limits.so

vi /etc/rc.d/rc.local

/sbin/modprobehangcheck_timer

设置hangcheck内核模块参数:

vi /etc/modprobe.conf

optionshangcheck-timer hangcheck_tick=30 hangcheck_margin=180 设置hangcheck内核模块开机加载

vi /etc/rc.d/rc.local

/sbin/modprobehangcheck-timer

要立即加载模块,执行:

modprobe -v hangcheck-timer

检查加载情况:

[root@zhh1 ~]# lsmod | grephangcheck_timer

hangcheck_timer 5593 0

8.安装ASM包,配置ASM,并搜索ASM

--在rac3上安装ASMLibs, tools, support 三个rpm文件

# rpm -ivh *.rpm --nodeps --force

-- 运行/etc/init.d/oracleasm configure

回答oracle , dba, y, y 就可以了

vi /usr/local/sbin/oraraw.sh

#####

# Oracle Cluster Registry (OCR) devices

#####

chownroot:oinstall /dev/mapper/ocr

chmod 660 /dev/mapper/*

raw /dev/raw/raw1 /dev/mapper/ocr

sleep 2

chownroot:oinstall /dev/raw/raw1

chmod 660 /dev/raw/raw1

#####

# Oracle Cluster Voting disks

#####

chownoracle:oinstall /dev/mapper/vtdsk

raw /dev/raw/raw2 /dev/mapper/vtdsk

sleep 2

chownoracle:oinstall /dev/raw/raw2

chownoracle:oinstall /dev/mapper/arch

chownoracle:oinstall /dev/mapper/data*

chownoracle:oinstall /dev/mapper/redo*

9.安装CRS

cd /apps/software/clusterware/cluvfy

./cluvfy stage -post hwos -n BJ-FT-1F-120-11,BJ-FT-1F-120-13

./cluvfy stage -post hwos -n BJ-FT-1F-120-11,BJ-FT-1F-120-12,BJ-FT-1F-120-13,BJ-FT-1F-120-14

./runcluvfy.sh stage -pre crsinst -n BJ-FT-1F-120-11,BJ-FT-1F-120-12,BJ-FT-1F-120-13,BJ-FT-1F-120-14

./runInstaller -updateNodeList "CLUSTER_NODES={BJ-FT-1F-120-11,BJ-FT-1F-120-13}" LOCAL_NODE="BJ-FT-1F-120-11" "ORACLE_HOME=$ORACLE_HOME" -local

. 为新节点添加CRS Home

启动vnc http://192.168.120.13:5801/

xhost+

su - oracle

export LANG=en

在【BJ-FT-1F-120-13】上运行CRS Home下的addNode.sh,启动OUI添加节点。原计划在BJ-FT-1F-120-11上执行,但是上面报错,报错内容为

SEVERE: OUI-25023: The local node is not selected for installing this product. Include the local node in the cluster list or perform t

he installation on the nodes on which the install is to be performed.

未找到解决办法,在节点13上执行通过。

cd /apps/oracle/crs/oui/bin

./addNode.sh

按照提示填写节点3公网私网虚拟名称

执行安装

分别执行3个脚本

在节点BJ-FT-1F-120-12运行orainstRoot.sh

/apps/oracle/oraInventory/orainstRoot.sh

在节点BJ-FT-1F-120-13运行rootaddnode.sh

/apps/oracle/crs/install/rootaddnode.sh

最后会报错

/apps/oracle/crs/bin/srvctl add nodeapps -n bj-ft-1f-120-12 -A BJ-FT-1F-120-12-vip/255.255.255.0/bond0 -o /apps/oracle/crs

PRKO-2109 : 地址字符串无效: BJ-FT-1F-120-12-vip/255.255.255.0/bond0

手动执行

/apps/oracle/crs/bin/srvctl add nodeapps -n bj-ft-1f-120-12 -A ftpds_vip2/255.255.255.0/bond0 -o /apps/oracle/crs

最后在节点BJ-FT-1F-120-12运行/apps/oracle/crs/root.sh

[root@BJ-FT-1F-120-12 raw]# /apps/oracle/crs/root.sh

WARNING: directory '/apps/oracle' is not owned by root

No value set for the CRS parameter CRS_OCR_LOCATIONS. Using Values in paramfile.crs

Checking to see if Oracle CRS stack is already configured

/etc/oracle does not exist. Creating it now.

OCR LOCATIONS = /dev/raw/raw1

OCR backup directory '/apps/oracle/crs/cdata/crs' does not exist. Creating now Setting the permissions on OCR backup directory

Setting up NS directories

Oracle Cluster Registry configuration upgraded successfully

WARNING: directory '/apps/oracle' is not owned by root

clscfg: EXISTING configuration version 3 detected.

clscfg: version 3 is 10G Release 2.

Successfully accumulated necessary OCR keys.

Using ports: CSS=49895 CRS=49896 EVMC=49898 and EVMR=49897.

node: node 1: bj-ft-1f-120-11 ftpds_priv1 bj-ft-1f-120-11

node 2: bj-ft-1f-120-13 ftpds_priv3 bj-ft-1f-120-13

clscfg: Arguments check out successfully.

NO KEYS WERE WRITTEN. Supply -force parameter to override.

-force is destructive and will destroy any previous cluster

configuration.

Oracle Cluster Registry for cluster has already been initialized

Startup will be queued to init within 30 seconds.

Adding daemons to inittab

Expecting the CRS daemons to be up within 600 seconds.

CSS is active on these nodes.

bj-ft-1f-120-11

bj-ft-1f-120-13

bj-ft-1f-120-12

CSS is active on all nodes.

Waiting for the Oracle CRSD and EVMD to start

Oracle CRS stack installed and running under init(1M)

检查su - oracle

crs_stat -t

Name Type Target State Host ------------------------------------------------------------

ora....SM1.asm application ONLINE ONLINEbj-f...0-11 ora....11.lsnr application ONLINE ONLINEbj-f...0-11 ora....-11.gsd application ONLINE ONLINEbj-f...0-11 ora....-11.ons application ONLINE ONLINEbj-f...0-11 ora....-11.vip application ONLINE ONLINEbj-f...0-11 ora....-12.gsd application ONLINE ONLINEbj-f...0-12 ora....-12.ons application ONLINE ONLINEbj-f...0-12 ora....-12.vip application ONLINE ONLINEbj-f...0-12 ora....SM2.asm application ONLINE ONLINEbj-f...0-13 ora....13.lsnr application ONLINE ONLINEbj-f...0-13 ora....-13.gsd application ONLINE ONLINEbj-f...0-13 ora....-13.ons application ONLINE ONLINEbj-f...0-13 ora....-13.vip application ONLINE ONLINEbj-f...0-13

ora.pdsdb.db application ONLINE ONLINEbj-f...0-11 ora...._taf.cs application ONLINE ONLINEbj-f...0-13 ora....db1.srv application ONLINE ONLINEbj-f...0-11 ora....db2.srv application ONLINE ONLINEbj-f...0-13 ora....b1.inst application ONLINE ONLINEbj-f...0-11 ora....b2.inst application ONLINE ONLINEbj-f...0-13

10.添加ONS远程端口

[oracle@BJ-FT-1F-120-12 ~]$ ocrdump -stdout | grep ONS_HOSTS [DATABASE.ONS_HOSTS]

[DATABASE.ONS_HOSTS.bj-ft-1f-120-11]

[DATABASE.ONS_HOSTS.bj-ft-1f-120-11.PORT]

[DATABASE.ONS_HOSTS.bj-ft-1f-120-13]

[DATABASE.ONS_HOSTS.bj-ft-1f-120-13.PORT]

ocrdump -stdout -keyname 'DATABASE.ONS_HOSTS.bj-ft-1f-120-13.PORT' cd $CRS_HOME/bin

./racgonsadd_config bj-ft-1f-120-12:6200

ocrdump -stdout | grep ONS_HOSTS

11.为新节点添加RDBMS Home

[oracle@rac101 bin]$ cd $ORACLE_HOME/oui/bin

[oracle@rac101 bin]$ ./addNode.sh

[root@BJ-FT-1F-120-12 oracle]# /apps/oracle/product/10.2.0/root.sh

12.为新节点添加listener netca

只选择“rac103”

13.为新节点添加ASM 运行DBCA

citrix数据库连接操作手册

CitrixAppcenter无法连接到数据 库解决方法

Contents 简介 ................................................................................................................................... - 3 - 1、操作步骤.......................................................................................................................... - 3 - 2、标题2............................................................................................................................... - 5 - 3、标题3............................................................................................................................... - 5 - 4、标题4............................................................................................................................... - 5 - 5、标题5............................................................................................................................... - 5 - 6、标题6............................................................................................................................... - 5 -

sql附加数据库

数据库安装说明书 1.打开“企业管理器” 点“开始”→“所有程序”→“Microsoft SQL Server”→“企业管理器”,如图1所示。 图1 打开“企业管理器”菜单 2.增加数据库账户“yytest” 打开“安全性”→选择“登录”→在“登录”点右键→点击“新建登录”(如图2所示),在弹出的对话框中,按照图3所示,在“名称”处填写“yytest”→点击“SQL Server身份验证”→在密码处填写“jctest”(全部小写)→点击“确定”按钮。 图2 “新建登录”菜单

图3 “新建登录”对话框 系统立即会弹出“确认密码”对话框(如图4所示),在“确认新密码”处再次输入“jctest”→点击“确定”按钮。 图4 “确认密码”对话框 “yytest”的权限默认即可,不用设置。 3.附加数据库 将下载下来的SQL数据库.rar解压,将释放出来的2个文件(yytest_Data.MDF、yytest_Log.LDF)放到合适的文件夹中(一定要记清楚位置)。 右击“数据库”→点“所有任务”→点“附加数据库”(如图5所示)。

图5 “附加数据库”菜单 在弹出的对话框中,按照图6所示,在“指定数据库所有者”处选择“yytest”→点击 按钮。 图6 “附加数据库”对话框 在弹出的对话框中,按照图7所示,选定文件“yytest_Data.MDF”,点击“确定”按钮。 图7 “浏览文件”对话框

系统将返回到“附加数据库”对话框,但界面信息将发生变化,如图8所示。 图8 “附加数据库”对话框 点击“确定”按钮。出现“附加数据库顺利完成”对话框,见图9。 图9 “附加数据库顺利完成”对话框 如果在SQL Server窗口右边能够看到图10才说明附加考试数据库确实成功了。 图10 “yytest”数据库 4.注意事项 在安装SQL Server时,一定要选择“SQL Server和Windows”混合模式进行身份验证,查看方法如下: (1)按图11所示,打开“属性”对话框:

数据库分离与附加操作流程

数据库分离与附加操作流程

RYAccountsDB,RYEducateDB,RYGameMatchDB,RYGameScoreDB,RYNativeWebDB,RYPlatformDB,RYPlatformManagerDB,RYRecordDB,RYTreasureDB 分离与附加 概念: 1.后的数据库文件可以复制到任何需要该文件的系统上。比如在A机器上创建的数据库, 可以复制到B电脑上。分离后,在数据库列表将看不到该数据库,不能再被SqlServer管理和使用。但该数据库的文件(.MDF)和对应的日志文件(.LDF)完好无损。分离成功后,我们就可以把该数据库文件(.MDF)和对应的日志文件(.LDF)拷贝到其它磁盘中作为备份保存。 2、附加数据库就是将一个备份磁盘中的数据库文件(.MDF)和对应的日志文件(.LDF)拷贝到需要的计算机,并将其添加到某个SQL Server 数据库服务器中,由该服务器来管理和使这个数据库。 一.附加数据库(以RYAccountsDB数据库为例) 步骤一,在数据库操作界面,数据库右键,点击附加,选择需要附加的数据库文件式为:据库

名.mdf, 点击附加,弹出如下图界面

点击添加,弹出如下界面,该界面可以选择要附加的数据库文件。默认打开的是安装SqlSever 生成的DaTa文件夹(C:\Program Files\Microsoft SQLServer\MSSQL10_50.SQLEXPRESS\MSSQL\DAT A)图: 如果所建立的数据库没有保存在默认路径下,可以把这里的盘符文件夹折叠起来,再选择自己存放的数据库文件,如下图 步骤二: 选择要附加的数据库文件路径,默认打开的是主数据文件(以.mdf结尾的文件),切换文件类型到*所有文件,可以看到当前文件夹下的所有以.mdf和.ldf或者.ndf结尾的文件,这些都是

简单数据库查询语句

数据查询语言(SELECT语句) 数据操纵语言(INSERT, UPDATE, DELETE语句) 数据定义语言(如CREATE, DROP等语句) 数据控制语言(如COMMIT, ROLLBACK等语句 超详细的SQL语句语法2008-07-11 14:25简单的Transact-SQL查询只包括选择列表、FROM 子句和WHERE子句 一、简单查询 简单的Transact-SQL查询只包括选择列表、FROM子句和WHERE子句。它们分别说明所查询列、查询的表或视图、以及搜索条件等。 例如,下面的语句查询testtable表中姓名为“张三”的nickname字段和email字段。SELECT nickname,email FROM testtable WHERE name='张三' (一) 选择列表 选择列表(select_list)指出所查询列 它可以是一组列名列表、星号、表达式、变量(包括局部变量和全局变量)等构成。 1、选择所有列 例如,下面语句显示testtable表中所有列的数据: SELECT * FROM testtable 2、选择部分列并指定它们的显示次序 查询结果集合中数据的排列顺序与选择列表中所指定的列名排列顺序相同。 例如: SELECT nickname,email FROM testtable 3、更改列标题 在选择列表中,可重新指定列标题。定义格式为: 列标题=列名 列名列标题 如果指定的列标题不是标准的标识符格式时,应使用引号定界符,例如,下列语句使用汉字显示列标题: SELECT 昵称=nickname,电子邮件=email FROM testtable 4、删除重复行 SELECT语句中使用ALL或DISTINCT选项来显示表中符合条件的所有行或删除其中重复的数据行, 默认为ALL。使用DISTINCT选项时,对于所有重复的数据行在SELECT返回的结果集合中只保留一行。 5、限制返回的行数 使用TOP n [PERCENT]选项限制返回的数据行数,TOP n说明返回n行, 而TOP n PERCENT时,说明n是表示一百分数,指定返回的行数等于总行数的百分之几。例如: SELECT TOP 2 *FROM testtable SELECT TOP 20 PERCENT * FROM testtable 9、说明:in 的使用方法 select * from table1 where a [not] in (‘值1’,’值2’,’值4’,

数据库基础操作语句

一、基础 1、说明:创建数据库 CREATE DATABASE database-name 2、说明:删除数据库 drop database dbname 3、说明:备份sql server --- 创建备份数据的device USE master EXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1.dat' --- 开始备份 BACKUP DATABASE pubs TO testBack 4、说明:创建新表 create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..) 根据已有的表创建新表: A:create table tab_new like tab_old (使用旧表创建新表) B:create table tab_new as select col1,col2…from tab_old definition only 5、说明:删除新表 drop table tabname 6、说明:增加一个列 Alter table tabname add column col type 注:列增加后将不能删除。DB2中列加上后数据类型也不能改变,唯一能改变的是增加varchar 类型的长度。 7、说明:添加主键:Alter table tabname add primary key(col) 说明:删除主键:Alter table tabname drop primary key(col) 8、说明:创建索引:create [unique] index idxname on tabname(col….) 删除索引:drop index idxname 注:索引是不可更改的,想更改必须删除重新建。 9、说明:创建视图:create view viewname as select statement 删除视图:drop view viewname 10、说明:几个简单的基本的sql语句 选择:select * from table1 where 范围 插入:insert into table1(field1,field2) values(value1,value2) 删除:delete from table1 where 范围 更新:update table1 set field1=value1 where 范围 查找:select * from table1 where field1 like ’%value1%’---like的语法很精妙,查资料! 排序:select * from table1 order by field1,field2 [desc] 总数:select count as totalcount from table1 求和:select sum(field1) as sumvalue from table1 平均:select avg(field1) as avgvalue from table1 最大:select max(field1) as maxvalue from table1 最小:select min(field1) as minvalue from table1 11、说明:几个高级查询运算词 A:UNION 运算符

SQL数据库操作步骤及代码

第2章数据库高级编程 ADO、NET就是为、NET框架而创建的,就是对ADO(ActiveX Data Objects)对象模型的扩充。ADO、NET提供了一组数据访问服务的类,可用于对Microsoft SQL Server、Oracle等数据源的一致访问。ADO、NET模型分为、NET Data Provider(数据提供程序)与DataSet数据集(数据处理的核心)两大主要部分。 、NET数据提供程序提供了四个核心对象,分别就是Connection、Command、DataReader 与DataAdapter对象。功能如表2-1所示。 表2-1 ADO、NET核心对象 2、1 SQL Server相关配置 在使用C#访问数据库之前,首先创建一个名为“chap2”的数据库,此数据库作为2、1节及2、2节中例题操作的默认数据库。然后创建数据表Products,表结构如表2-2所示。创建完毕后可录入初始化数据若干条。 表2-2 Products表表结构 上机课的操作中出现问题较多的地方。 1.身份验证方式 SQL Server 2012在安装时默认就是使用Windows验证方式的,但就是安装过后用户可随时修改身份验证方式。 启动SQL Server 2012 Management Studio,在“连接到服务器”对话框中选择“Windows

身份验证”连接服务器,连接成功后,在窗体左侧的“对象资源管理器”中右键单击服务器实例节点,并在弹出的快捷菜单中选择“属性”菜单项,系统将弹出“服务器属性”窗体,切换至“安全性”选项卡,如图2-1所示。 图2-1 “服务器属性”对话框-“安全性”选项卡 在“服务器身份验证”部分选择“SQL Server与Windows身份验证模式”选项,并单击【确定】按钮。系统将提示需要重新启动SQL Server以使配置生效,如图2-2所示。 图2-2 系统提示框 右键单击“对象资源管理器”的服务器实例节点,在弹出的快捷菜单中选择“重新启动”菜单项,SQL Server将重新启动服务,重启成功后即可使用混合验证方式登录SQL Server服务器。 2.添加登录账户 大部分初学者都习惯于使用SQL Server的系统管理员账号“sa”来登录数据库服务器,而在实际工作环境中使用sa账号登录服务器就是不合理的。因为很多情况下系统的数据库就是部署在租用的数据库服务器上的,此时数据库设计人员或编程人员都不可能具有sa账号的使用权限,因此在将身份验证方式修改为SQL Server与Windows混合验证后,需要为某应用程序创建一个专用的登录账户。其操作步骤描述如下。 (1)使用Windows身份验证登录SQL Server,在对象资源管理器中点击“安全性”节点前面的加号“+”,在展开后的“登录名”子节点上单击右键,如图2-3所示,并在弹出的快捷菜单中选择“新建登录名”选项。

数据库分离与附加操作流程

RYAccountsDB,RYEducateDB,RYGameMatchDB,RYGameScoreDB,RYNativeWebDB,RYPlatformDB,RYPlatformManagerDB,RYRecordDB,RYTreasureDB 分离与附加 概念: 1.后的数据库文件可以复制到任何需要该文件的系统上。比如在A机器上创建的数据库,可以复制到B电脑上。分离后,在数据库列表将看不到该数据库,不能再被SqlServer管理和使用。但该数据库的文件(.MDF)和对应的日志文件(.LDF)完好无损。分离成功后,我们就可以把该数据库文件(.MDF)和对应的日志文件(.LDF)拷贝到其它磁盘中作为备份保存。 2、附加数据库就是将一个备份磁盘中的数据库文件(.MDF)和对应的日志文件(.LDF)拷贝到需要的计算机,并将其添加到某个SQL Server数据库服务器中,由该服务器来管理和使这个数据库。 一.附加数据库(以RYAccountsDB数据库为例) 步骤一,在数据库操作界面,数据库右键,点击附加,选择需要附加的数据库文件式为:据库名.mdf, 点击附加,弹出如下图界面

点击添加,弹出如下界面,该界面可以选择要附加的数据库文件。默认打开的是安装SqlSever 生成的DaTa文件夹(C:\Program Files\Microsoft SQLServer\MSSQL10_50.SQLEXPRESS\MSSQL\DATA)图: 如果所建立的数据库没有保存在默认路径下,可以把这里的盘符文件夹折叠起来,再选择自己存放的数据库文件,如下图 步骤二: 选择要附加的数据库文件路径,默认打开的是主数据文件(以.mdf结尾的文件),切换文件类型到*所有文件,可以看到当前文件夹下的所有以.mdf和.ldf或者.ndf结尾的文件,这些都是数据库文件,附加的时候只需要选择需以.mdf结尾的目标文件,日志文件(.ldf结尾的文件)会随着主数据文件(.mdf结尾的文件)的附加成功而自动附加的。

数据库SQL查询语句大全修订稿

数据库S Q L查询语句 大全 公司标准化编码 [QQX96QT-XQQB89Q8-NQQJ6Q8-MQM9N]

经典SQL查询语句大全 一、基础 1、说明:创建数据库 CREATE DATABASE database-name 2、说明:删除数据库 drop database dbname 3、说明:备份sql server --- 创建备份数据的 device USE master EXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\' --- 开始备份 BACKUP DATABASE pubs TO testBack 4、说明:创建新表 create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..) 根据已有的表创建新表: A:create table tab_new like tab_old (使用旧表创建新表) B:create table tab_new as select col1,col2… from tab_old definitio n only 5、说明:删除新表 drop table tabname 6、说明:增加一个列 Alter table tabname add column col type

注:列增加后将不能删除。DB2中列加上后数据类型也不能改变,唯一能改变的是增加varchar类型的长度。 7、说明:添加主键:Alter table tabname add primary key(col) 说明:删除主键: Alter table tabname drop primary key(col) 8、说明:创建索引:create [unique] index idxname on tabname(col….) 删除索引:drop index idxname 注:索引是不可更改的,想更改必须删除重新建。 9、说明:创建视图:create view viewname as select statement 删除视图:drop view viewname 10、说明:几个简单的基本的sql语句 选择:select * from table1 where 范围 插入:insert into table1(field1,field2) values(value1,value2) 删除:delete from table1 where 范围 更新:update table1 set field1=value1 where 范围 查找:select * from table1 where field1 like ’%value1%’ ---like的语法很精妙,查资料! 排序:select * from table1 order by field1,field2 [desc] 总数:select count as totalcount from table1 求和:select sum(field1) as sumvalue from table1 平均:select avg(field1) as avgvalue from table1 最大:select max(field1) as maxvalue from table1 最小:select min(field1) as minvalue from table1 11、说明:几个高级查询运算词 A:UNION 运算符

C#常用数据库操作方法整理

C#常用操作数据方法整理 using System.Data.SqlClient; //导入sql数据库命名空间,这样可以用sql数据库操作相关类 String ConnectionStr = "server=.;database=数据库名;uid=sa;pwd=123456;"; //数据库连接字符串,server确定数据库服务器名,database定义数据库名,uid定义数据库使用者用户名,pwd为密码。 SqlConnection conn = new SqlConnection(ConnectionStr); //建立数据库连接,只有建立连接了才能操作数据。 //也可以合在一起:SqlConnection conn = new SqlConnection(“server=.;database=数据库名; uid=sa;pwd=123456;”); String SQLString=“”; //数据操作语句放在双引号中,语句有增,删,改,查操作。 SqlCommand comm = new SqlCommand(SQLString, conn); //建立数据库命令,确定sql数据操作语句,和数据库连接。 //也可以合并,SqlCommand comm = new SqlCommand(“数据库操作语句”, conn); conn.Open(); //打开数据库,只有打开数据库,数据库命令才能被执行。 int rows = comm.ExecuteNonQuery(); SqlDataReader dr = comm.ExecuteReader(); //专门用于读取数据库数据 Object result= comm. ExecuteScalar(); //或string result= Cmd. ExecuteScalar().Tostring(); //执行数据库命令: //ExecuteNonQuery()用于增,删,改操作,返回受影响的行数; //ExecuteReader()用于查操作,返回一个SqlDataReader类的对象; //comm.ExecuteScalar()执行查找,返回从数据表中查询结果的第一行第一个单元格的数据。conn.Close();

数据库sql查询语句

数据库结构如下: 仓库(仓库号, 城市, 面积) 订购单(职工号, 供应商号, 订购单号, 订购日期)供应商(供应商号, 供应商名, 地址) 职工(仓库号, 职工号, 工资) 具体数据如下: 仓库表: 职工表:

使用SQL语句完成: DDL 1.写出创建上述表的语句 命令: create table仓库(仓库号varchar(8)primary key,城市varchar(8),面积int); create table订购单(订购单号varchar(8)primary key,职工号varchar(8),供应商号varchar(8),订购日期nchar(8)) create table供应商(供应商号varchar(8)primary key,供应商名varchar(18),地址varchar(8)) create table职工(职工号varchar(8)primary key,仓库号varchar(8),工资int)DML 2.给出插入上述数据的insert语句 命令: insert into仓库values('WH1','',370) insert into仓库values('WH2','',500) insert into仓库values('WH3','',200) insert into仓库values('WH4','',400) insert into订购单values('OR67','E3','S7','06/23/01') insert into订购单values('OR73','E1','S4','07/28/01') insert into订购单values('OR76','E5','S4','05/25/01') insert into订购单values('OR77','E6','S6','05/26/01') insert into订购单values('OR79','E3','S4','06/13/01') insert into订购单values('OR80','E1','S2','08/29/01') insert into订购单values('OR90','E3','S3','09/01/01') insert into订购单values('OR91','E3','S7','07/13/01') insert into供应商values('S2','名硕电子公司','') insert into供应商values('S3','振华电子厂','') insert into供应商values('S4','华通电子公司','') insert into供应商values('S6','607厂','') insert into供应商values('S7','爱华电子厂','') insert into职工values('E1','WH2',1220) insert into职工values('E3','WH1',1210) insert into职工values('E4','WH2',1250) insert into职工values('E5','WH3',1230) insert into职工values('E6','WH1',1250)

组态软件操作指南 与数据库连接

第八章与数据库连接 本章内容 创建数据源及数据库 创建表格模板 创建记录体 对数据库的操作 数据集函数在关系库中的应用 概述 本章我们将讲解如何将阀门的状态变化记录到数据库中并进行查询。数据库我们选择Access数据库,记录的内容包括:日期、时间、阀门描述、阀门状态四个字段。我们利用KingSCADA的SQL访问功能来实现。 KingSCADA SQL访问功能实现KingSCADA和其他外部数据库之间的数据传输。提供2种访问方式:一种是记录体的方式,即变量和数据库表中的字段建立绑定关系;一种是数据集方式。 记录体方式就是通过记录体配置项,实现把数据库里面的字段和KingSCADA的变量建立绑定关系。绑定后,可以通过SQL插入或更新函数将绑定变量插入或更新到数据库的对应字段中;也可以通过SQL查询函数将数据库中对应字段数据查询并保存到绑定变量中,实现KingSCADA和关系数据库的数据交互。记录体方式只能在KingSCADA服务器端应用。 数据集方式就是通过KingSCADA提供的一系列数据集函数,执行标准SQL语句,实现KingSCADA与关系数据库之间的增、查、删、改等所有数据交互功能,尤其可以通过数据集函数,实现从数据库内查询出符合SQL语句的数据集合,并在报表、曲线中进行批量数据展示。数据集方式支持在KingSCADA服务器端、C/S客户端、WEB上使用。 在这里建议采用数据集方式,更加方便、灵活。 下面具体介绍2种方式的具体使用 第一节记录体方式在关系数据库中的应用(仅参考) 一、创建数据源及数据库 以KingSCADA带的DEMO工程中的数据库为例,首先将文件从DEMO工程中拷贝到我们新建的这个培训工程中。 然后,用Windows控制面板中自带的ODBC Data Sources (32bit)管理工具新建一个Microsoft Access Driver(*.mdb)驱动的数据源,名为:mine,然后配置该数据源,指向刚才拷贝过来的Access数据库(即),如图8-1所示:

SQL数据库查询语句范例

推荐一、简单查询 简单的Transact-SQL查询只包括选择列表、FROM子句和Where子句。它们分别说明所查询列、查询的表或视图、以及搜索条件等。例如,下面的语句查询testtable表中姓名为“张三”的nickname字段和email字段。Select nickname,email FROM testtable Where n ame=’张三’ (一) 选择列表 选择列表(select_list)指出所查询列,它可以是一组列名列表、星号、表达式、变量(包括局部变量和全局变量)等构成。 1、选择所有列例如,下面语句显示testtable表中所有列的数据:Select * FROM testtable 2、选择部分列并指定它们的显示次序 查询结果集合中数据的排列顺序与选择列表中所指定的列名排列顺序相同。 例如:Select nickname,email FROM testtable 3、更改列标题 在选择列表中,可重新指定列标题。定义格式为: 列标题=列名列名列标题 如果指定的列标题不是标准的标识符格式时,应使用引号定界符,例如,下列语句使用汉字显示列标题: Select 昵称=nickname,电子邮件=email FROM testtable 4、删除重复行 Select语句中使用ALL或DISTINCT选项来显示表中符合条件的所有行或删除其中重复的数据行,默认为ALL。使用DISTINC T选项时,对于所有重复的数据行在Select返回的结果集合中只保留一行。 5、限制返回的行数 使用TOP n [PERCENT]选项限制返回的数据行数,TOP n说明返回n行,而TOP n PERCENT时,说明n是表示一百分数,指定返回的行数等于总行数的百分之几。例如: Select TOP 2 *FROM testtable Select TOP 20 PERCENT * FROM testtable (二) FROM子句 FROM子句指定Select语句查询及与查询相关的表或视图。在FROM子句中最多可指定256个表或视图,它们之间用逗号分隔。 在FROM子句同时指定多个表或视图时,如果选择列表中存在同名列,这时应使用对象名限定这些列所属的表或视图。例如在usertable和cityta ble表中同时存在cityid列,在查询两个表中的cityid时应使用下面语句格式加以限定: Select username,citytable.cityid FROM usertable,citytable Where usertable.cityid=citytable.cityid 在FROM子句中可用以下两种格式为表或视图指定别名: 表名 as 别名表名别名

Access数据库连接的基本用法

在基于微软IIS/PWS的网络平台上,通过服务器端运行的ASP程序来访问后台数据库,是一种最常见的模式了。而对于小型的数据库应用需求,微软的Access数据库,应该是与ASP程序配套使用的首选。由于Access数据库的ODBC驱动程序支持的SQL指令全,执行效率高,所以Access后台数据库+ASP服务器端程序+客户端IE浏览器,是一个精练实用高效的组合模式。在这种使用模式中,ASP程序无疑是最重要的,是沟通客户端和后台数据库之间的桥梁。在ASP程序中,通过VB Script,建立对Access数据库连接,是客户能够访问后台数据库的前提。 一、Access数据库连接之建立Access数据库连接的常用方法 在ASP中建立对Access数据库连接的一般格式如下: 它的各步骤及参数意义如下: 第一行程序:利用Server对象的MapPath函数,取得要打开数据库的完整的文件路径,并存储在变量DbPath中。这其中,数据库名是我们需要指定的参数,应该用我们要打开的数据库的实际名称替代。如果数据库名是直接作为常量出现,要用引号将其括起来,并且不能丢掉扩展名。例如数据库是Test.mdb,则该行程序成为: DbPath=Server.MapPath(“Test.mdb”)。 第二行程序:建立一个ADO对象集中的Connection对象,也即连接对象。这是建立数据库连接的初始步骤。执行这行程序后,Conn成为一个连接对象。 第三行程序:利用连接对象Conn的Open方法打开一个指定的数据库。因为我们要打开的是Access数据库,所以要指定ODBC驱动程序参数,表示要透过Access的ODBC 驱动程序来访问数据库:driver={Microsoft Access Driver (*.mdb)};。 另一个参数dbq= & DbPath,运算后等效于dbq=Server.MapPath(数据库名) ,是利用了第一行的Server.MapPath(数据库名)函数,用来指定要打开的数据库文件。到这里,就已经打开了数据库名指定的数据库。如果数据库名是“test.mdb”,则打开Access数据库Test.mdb。在这一行里指定的参数,要严格按照格式原样写出,不能省略或改动,也没有可变参数。 第四行程序:建立一个ADO对象集中的Recordset对象,以便利用Recordset对象操作数据库(当然,这只是对数据库操作的多种方式之一)。执行这行后,rs就成为一个Recordset对象。

SQL SERVER 分离和附加数据库详解

SQL SERVER 分离和附加数据库详解 一.Sql语句命令方式 RESTOREHEADERONLY FROMDISK=N'f:/Test.bak' 返回包含特定备份设备上所有备份集的所有备份标头信息的结果集 分离数据库 USE[master] GO EXECmaster.dbo.sp_detach_db@dbname=N'xiantest' GO 或者 exec sp_detach_db xiantest 或 exec sp_detach_db@dbname='xiantest' 附加数据库 USE[master] GO CREATEDATABASE[xiantest]ON (FILENAME=N'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\xiantest.mdf'), (FILENAME=N'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\xiantest_log.ldf') FORATTACH GO 或 exec sp_attach_db xiantest,@filename1=N'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\xiantest.mdf', @filename2=N'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\xiantest_log.ldf' exec sp_attach_db xiantest,N'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\xiantest.mdf',

数据库系统原理实验报告_SQL查询语句

数据库系统原理 实验报告 :xxx 学号:xxxxxxxx 专业:xxxxx 日期:xxxxx

Lab2 一、实验目的 进一步熟悉关系数据库标准语言SQL。 二、实验环境 1)Windows 10 2)SQL Server 2017 三、实验容 给定如学生表、课程表和学生作业表所示的信息。 表1 学生表 表2 课程表 表3 学生作业表

K002 0592 75 85 85 K006 0531 80 80 90 K006 0591 80 80 80 M001 0496 70 70 80 M001 0591 65 75 75 S001 0531 80 80 80 S001 0538 60 80 写出如下SQL语句: 1.查询数据库中有哪些专业班级。(5分) Sql语句: SELECT专业班级 FROM学生表; 查询结果截图: 2.查询在1986年出生的学生的学号、和出生日期。(5分) Sql语句: SELECT学号,,出生日期 FROM学生表 WHERE出生日期LIKE'1986%'; 查询结果截图: 3.查询05级的男生信息。(5分) Sql语句: SELECT* FROM学生表 WHERE学号LIKE'05%'AND性别='男'; 查询结果截图:

4.查询没有作业成绩的学号和课程号。(5分) Sql语句: SELECT学号,课程号 FROM学生作业表 WHERE作业1成绩IS NULL OR作业2成绩IS NULL OR作业3成绩IS NULL; 查询结果截图: 5.查询选修了K001课程的学生人数。(5分) Sql语句: SELECT COUNT(DISTINCT学号) FROM学生作业表 WHERE课程号='K001'; 查询结果截图: 6.查询数据库中共有多少个班级。(5分) Sql语句: SELECT COUNT(DISTINCT专业班级) FROM学生表; 查询结果截图: 7.查询选修三门以上(含三门)课程的学生的学号和作业1平均分、作业2平均分和作业3平均分。(5分) Sql语句: SELECT学生作业表.学号,AVG(作业1成绩),AVG(作业2成绩),AVG(作业3成绩) FROM学生表,学生作业表 WHERE学生表.学号=学生作业表.学号

7种方法连接数据库

连接数据库的方法小结 1.ODBC API ODBC(Open Database Connectivity,开放数据库互连)是微软公司开放服务结构(WOSA,Windows Open Services Architecture)中有关数据库的一个组成部分,它建立了一组规范,并提供了一组对数据库访问的标准API(应用程序编程接口)。这些API利用SQL来完成其大部分任务。ODBC本身也提供了对SQL语言的支持,用户可以直接将SQL语句送给ODBC。 一个基于ODBC的应用程序对数据库的操作不依赖任何DBMS,不直接与DBMS打交道,所有的数据库操作由对应的DBMS的ODBC驱动程序完成。也就是说,不论是FoxPro、Access , MYSQL还是Oracle数据库,均可用ODBC API 进行访问。由此可见,ODBC的最大优点是能以统一的方式处理所有的数据库。 2.MFC ODBC 由于直接使用ODBC API编写应用程序要编制大量代码,开发者往往需要花费很多的精力在非核心代码的维护上,而Visual C++提供了MFC ODBC类,封装了ODBC API,这使得利用MFC ODBC来创建ODBC应用程序非常简便。 3.DAO(Data Access Object) DAO提供了一种通过程序代码创建和操纵数据库的机制,多个DAO构成一个体系结构,在这个体系结构中,各个DAO对象协同工作。MFC DAO是Microsoft提供的用于访问Microsoft jet数据库文件的强有力的数据库开发工具,它通过封装DAO,向程序员提供了DAO操作数据库的手段。 4.OLE DB OLE DB(Object Linking and Embedding, Database, 又称为OLE DB或OLE-DB),一个基于COM的数据存储对象,能提供对所有类型的数据的操作,甚至能在离线的情况下存取数据(比方说,你使用的是你的便携机,你可以毫不费力地看到最后一次数据同步时的数据映像). OLEDB位于ODBC层与应用程序之间. 在你的ASP页面里,ADO是位于OLEDB之上的应用程序. 你的ADO调用先被送到OLEDB,然后再交由ODBC 处理. 你可以直接连接到OLEDB层,如果你这么做了,你将看到服务器端游标(recordset的缺省的游标,也是最常用的游标)性能的提升.

数据库的分离和附加

数据库的分离和附加 因为我们机房机器装有保护卡,我们本次实验创建的数据库及它所包含的表等对象,下次实验还要重新创建。SQL Server提供数据库的分离和附加的功能,可以将本次实验创建的数据库对象从数据库服务器分离,拷贝到U盘。下次实验再拷贝回磁盘,附加到数据库服务器上。分离和附加一对互逆的功能。 1、数据库的分离 将我们创建的一个用户数据库从数据库服务器分离出来,变成独立的文件.mdf数据文件和.ldf日志文件。我们可以把这些文件拷贝到我们的U盘。 2、数据库的附加 将.mdf数据文件和.ldf日志文件拷到一个目录下,附加到数据库服务器上。在SQL Server Management Studio的对象资源管理器就可以使用这个用户数据库了。和数据库的分离是互逆的过程。 具体操作步骤如下: 1、数据库的分离 如图1,在SQL Server Management Studio的对象资源管理器中,选中cpxs数据库对象,单击右键,在弹出的快捷菜单选“任务-分离”。 图1

如图2,在弹出的“分离数据库”对话框,单击确定。 图2 如图3,在SQL Server Management Studio的对象资源管理器,选中你本地的数据库服务器单击右键,点刷新。这样你再观察SQL Server Management S tudio的对象资源管理器,就没有这个用户数据库对象了。 图3

如图4,经过分离,cpxs数据库所对应的物理文件还是存在在硬盘上,选中.mdf数据文件和.ldf日志文件,就可以复制或者剪切到U盘或其他目录。 图4 2、数据库的附加 如图5在SQL Server Management Studio的对象资源管理器,选中数据库,单击右键,点附加。 图5

ORCLE数据库查询语句

/*1:查询书城所有图书信息*/ SPOOL D:\A\OUTPUT1.SQL; SELECT * FROM BOOKS; SPOOL OFF; /*2:查询书城所有图书的类别*/ SPOOL D:\A\OUTPUT2.SQL; SELECT DISTINCT CATEGORY FROM BOOKS; SPOOL OFF; /*3:查询类别为textbook的图书信息*/ SPOOL D:\A\OUTPUT3.SQL; SELECT * FROM BOOKS WHERE CATEGORY='textbook'; SPOOL OFF;

/*4:查询类别为romantic、cooking、politics的书名和作者*/ SPOOL D:\A\OUTPUT4.SQL; SELECT title, author FROM BOOKS WHERE category IN ('romantic','cooking','politics'); SPOOL OFF; /*5:查询当前价格最高的图书的定价*/ SPOOL D:\A\OUTPUT5.SQL; SELECT MAX(price) FROM pricing; SPOOL OFF; /*6:查询既买了id是101的图书,且购买时书价是20元的顾客id 及购买日期*/ SPOOL D:\A\OUTPUT6.SQL; SELECT cid, pdate FROM purchases WHERE BOOKID=101 AND PPRICE=20; SPOOL OFF;

/*7:查询每一位顾客的消费总额,设置消费总额别名为“COST”, 并按总额降序排列*/ SPOOL D:\A\OUTPUT7.SQL; SELECT CID,SUM(PPRICE) COST FROM purchases GROUP BY cid ORDER BY COST DESC; SPOOL OFF; /*8:查询消费总额>100元的顾客id及消费总额*/ SPOOL D:\A\OUTPUT8.SQL; SELECT CID,SUM(PPRICE) COST FROM purchases GROUP BY cid HAVING SUM(PPRICE)>'100'; SPOOL OFF; /*9:查询购买书名中含“Database”的图书的顾客id*/ SPOOL D:\A\OUTPUT9.SQL; SELECT DISTINCT CID

相关主题
文本预览
相关文档 最新文档