文档库 最新最全的文档下载
当前位置:文档库 › csharp数据库操作的三种经典用法

csharp数据库操作的三种经典用法

csharp数据库操作的三种经典用法
csharp数据库操作的三种经典用法

C#数据库操作的三种经典用法

以下是我在visual studio 2005上写的一个类(连的是SQL Server 2005),已经过测试通过。里面有3个方法比较典型,源码如下:

using System;

using System.Collections.Generic;

using System.Text;

using System.Data;

using System.Data.SqlClient;

namespace DatabaseOperate

{

class SqlOperateInfo

{

//Suppose your ServerName is "aa",DatabaseName is "bb",UserName is "cc", Password is "dd"

private string sqlConnectionCommand = "Data Source=aa;Initial Catalog=bb;User ID=cc;Pwd=dd";

//This table contains two columns:KeywordID int not null,KeywordName varchar(100) not null

private string dataTableName = "Basic_Keyword_Test";

private string storedProcedureName = "Sp_InertToBasic_Keyword_Test";

private string sqlSelectCommand = "Select KeywordID, KeywordName From Basic_Keyword_Test";

//sqlUpdateCommand could contain "insert" , "delete" , "update" operate

private string sqlUpdateCommand = "Delete From Basic_Keyword_Test Where KeywordID = 1";

public void UseSqlReader()

{

SqlConnection sqlConnection = new

SqlConnection(sqlConnectionCommand);

SqlCommand sqlCommand = new SqlCommand();

https://www.wendangku.net/doc/3d12908082.html,mandType = https://www.wendangku.net/doc/3d12908082.html,mandType.Text;

sqlCommand.Connection = sqlConnection;

https://www.wendangku.net/doc/3d12908082.html,mandText = sqlSelectCommand;

sqlConnection.Open();

SqlDataReader sqlDataReader = sqlCommand.ExecuteReader();

while(sqlDataReader.Read())

{

//Get KeywordID and KeywordName , You can do anything you like. Here I just output them.

int keywordid = (int)sqlDataReader[0];

//the same as: int keywordid = (int)sqlDataReader["KeywordID"]

string keywordName = (string)sqlDataReader[1];

//the same as: string keywordName =

(int)sqlDataReader["KeywordName"]

Console.WriteLine("KeywordID = " + keywordid + " , KeywordName = " + keywordName);

}

sqlDataReader.Close();

sqlCommand.Dispose();

sqlConnection.Close();

}

public void UseSqlStoredProcedure()

{

SqlConnection sqlConnection = new

SqlConnection(sqlConnectionCommand);

SqlCommand sqlCommand = new SqlCommand();

https://www.wendangku.net/doc/3d12908082.html,mandType = CommandType.StoredProcedure;

sqlCommand.Connection = sqlConnection;

https://www.wendangku.net/doc/3d12908082.html,mandText = storedProcedureName;

sqlConnection.Open();

sqlCommand.ExecuteNonQuery();

//you can use reader here,too.as long as you modify the sp and let it like select * from ....

sqlCommand.Dispose();

sqlConnection.Close();

}

public void UseSqlDataSet()

{

SqlConnection sqlConnection = new

SqlConnection(sqlConnectionCommand);

SqlCommand sqlCommand = new SqlCommand();

https://www.wendangku.net/doc/3d12908082.html,mandType = https://www.wendangku.net/doc/3d12908082.html,mandType.Text;

sqlCommand.Connection = sqlConnection;

https://www.wendangku.net/doc/3d12908082.html,mandText = sqlSelectCommand;

sqlConnection.Open();

SqlDataAdapter sqlDataAdapter = new SqlDataAdapter();

sqlDataAdapter.SelectCommand = sqlCommand;

DataSet dataSet = new DataSet();

//sqlCommandBuilder is for update the dataset to database

SqlCommandBuilder sqlCommandBuilder = new

SqlCommandBuilder(sqlDataAdapter);

sqlDataAdapter.Fill(dataSet, dataTableName);

//Do something to dataset then you can update it to Database.Here I just add a row

DataRow row = dataSet.Tables[0].NewRow();

row[0] = 10000;

row[1] = "new row";

dataSet.Tables[0].Rows.Add(row);

sqlDataAdapter.Update(dataSet, dataTableName);

sqlCommand.Dispose();

sqlDataAdapter.Dispose();

sqlConnection.Close();

}

}

}

以上的程序概括了最典型的用法,也是最基本的用法.更多的用法我将会陆续给出,大家有什么疑问或建议,欢迎来信(jiangbiao0827@https://www.wendangku.net/doc/3d12908082.html,)或留言。

数据库操作命令

三、启动\关闭数据库 启动和关闭oracle有很多种方法。 这里只给出3种方法: ●Sql*plus ●OEM控制台 ●Windows 控制台 1.以sql*plus为例: a.准备 首先我们用sql*plus来连接到Oracle Sqlplus /nolog 是以不连接数据库的方式启动sql*plus Connect /as sysdba 是以DBA身份连接到oracle b.启动

启动还是比较简单的 Startup就OK了。 不过oracle启动模式有3种: ●Startup nomount (nomount模式)启动实例不加载数据库。 ●Startup mount (mount模式)启动实例加载数据库但不打开数据库 ●Startup (open 模式)启动实例加载并打开数据库,就是我们上面所用 的命令 Nomount模式中oracle仅为实例创建各种内存结构和服务进程,不会打开任何数据库文件,所以说: 1)创建新数据库 2)重建控制文件 这2种操作都必须在这个模式下进行。 Mount模式中oracle只装载数据库但不打开数据库,所以说: 1)重命名数据文件 2)添加、删除和重命名重做日子文件

3)执行数据库完全恢复操作 4)改变数据库的归档模式 这4种操作都必须在这个模式下进行 Open模式(就是我们上面的startup不带任何参数的)呵呵就不多说了,正常启动。 当然这3种模式之间可以转换: Alter database mount(nomount模式)—〉alter database open(mount 模式)—〉(open模式) 当然还有其它一些情况,在我们open模式下可以将数据库设置为非受限状态和受限状态 在受限状态下,只有DBA才能访问数据库,所以说: 1)执行数据导入导出 2)使用sql*loader提取外部数据 3)需要暂时拒绝普通用户访问数据库 4)进行数据库移植或者升级操作 这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 运算符

MySQL数据库高级查询和多表查询二

机试测试试卷 (MySQL数据库应用与开发) 注意:考试结束试卷必须交Array 回,不交回试卷者成绩无效题目:MySQL 数据库高级查询和多表查询 一、语言和环境 A、实现技术 SQL 语句练习 B、环境要求 Mysql5.7+Navicat 二、实验要求 1、创建名为 s_t 的数据库,参数全部使用 UTF-8 实验目的: 通过上机实验验证数据库的多表的高级查询操作。 实验内容:

1、将s_t数据库还原。 2、在s_t数据库中,完成以下多表连接查询的操作。 (1)查询计算机系学生的修课情况,要求列出学生的名字、所修课的课程号和成绩。 (2)查询“信息管理系”修了“计算机文化学”的学生姓名和成绩。 (3)查询所有选修了Java课程的学生情况,列出学生姓名和所在系。 (4)统计每个系的学生的考试平均成绩。 (5)统计计算机系学生每门课程的选课人数、平均成绩、最高成绩和最低成绩。 (6)查询与刘晨在同一个系学习的学生的姓名和所在的系。 (7)查询与“数据结构”在同一个学期开设的课程的课程名和开课学期。 (8)查询至少被两个学生选的课程的课程号。 (9)查询全体学生的选课情况,包括选修了课程的学生和没有选修课程的学生。 (10)查询没人选的课程的课程名。 (11)查询计算机系没有选课的学生,列出学生姓名和性别。 (12)统计计算机系每个学生的选课门数,包括没有选课的学生。 (13)查询信息管理系选课门数少于3门的学生的学号和选课门数,包括没有选课的学生。查询结果按选课门数递增排序。 (14)查询考试成绩最高的三个成绩,列出学号、课程号和成绩。 (15) 查询Java考试成绩最高的前三名的学生的姓名、所在系和VB考试成绩。 (16)查询选课人数最少的两门课程(不包括没有人选的课程),列出课程号和选课人数。 (17)查询计算机系选课门数超过2门的学生中,考试平均成绩最高的前2名(包括并列的情况)学生的学号、选课门数和平均成绩。 (18)将计算机系的学生信息保存到#ComputerStudent局部临时表中。 (19)将选了Java课程的学生的学号及成绩存入永久表Java_Grade中。 (20)统计每个学期开设的课程总门数,将结果保存到永久表Cno_Count表中 (21)利用例19题生成的新表,查询第2学期开设的课程名、学分和课程总门数。 3、在s_t数据库中,完成以下多表的高级查询操作。 (1)查询选了Java课程的学生的学号、姓名、所在系和成绩,并对所在系进行如下处理:“计算机系”:显示“CS”;“信息管理系”:显示“IM”;“通信工程系”:显示“COM”。(2)查询“C001”课程的考试情况,列出学号和成绩,对成绩进行如下处理:如果成绩大于等于90,则在查询结果中显示“优”;如果成绩在80到89分之间,则在查询结果中显示“良”;如果成绩在70到79分之间,则在查询结果中显示“中”;如果成绩在60到69分之间,则在查询结果中显示“及格”;如果成绩小于60分,则在查询结果中显示“不及格”。 (3)统计每个学生的考试平均成绩,列出学号、考试平均成绩和考试情况,其中考

数据库原理期末模拟试题大全及部分答案

数据库原理模拟试卷(1) 一、项选择题(在每小题列出的四个选项中只有一个选项是符合题目要求的,请将正确选项前的 字母填在题后的括号内。每小题1分,共15分) 1.数据库系统的体系结构是(C ) A、两级模式结构和一级映象 B、三级模式结构和一级映象 C、三级模式结构和两级映象 D、三级模式结构和三级映象 2.SQL语言称为(C )。 A、结构化定义语言 B、结构化控制语言 C、结构化查询语言 D、结构人操纵语言 3.在视图上不能完成的操作是(D)。 A、在视图上定义新的视图 B、查询操作 C、更新视图 D、在视图上定义新的基本表 4.数据库的并发操作有可能带来的三个问题中包括(D)。 A、数据独立性降低 B、无法读出数据 C、权限控制 D、丢失更新 5.当前应用最广泛的数据模型是(B)。 A、ER模型 B、关系模型 C、网状模型 D、层次模型 6.现有一个关系:借阅(书号、书名,库存数,读者号,借期,还期),假如同一本书允许一个读者多次借阅,但不能同时对一种书借多本。则该关系模式的码是(D )。 A、书号 B、读者号 C、书号+读者号 D、书号+读者号+借期 7.要保证数据库物理数据独立性,需要修改的是( B ) A.模式 B.模式与内模式的映射 C.模式与外模式的映射 D.内模式 8.下列四项中,不属于数据库特点的是( D ) A.数据共享 B.数据完整性 C.数据冗余较小 D.数据独立性低 9.数据库中存储的是( D ) A.数据 B.数据模型 C.数据之间的联系 D.数据以及数据之间的联系 10.反映现实世界中实体及实体间联系的信息模型是( D ) A.关系模型 B.层次模型 C.网状模型 D.E—R模型 11. 五种基本关系代数运算是( a) A. ∪,-,×,π和σ B. ∪,-,∞,π和σ C. ∪,∩,×,π和σ D. ∪,∩,∞,π和σ

MYSQL数据库基本操作命令

MYSQL数据库基本操作命令 用户名和密码:123456 创建一个名称为mydb1的数据库。 create database mydb1; 查看所有数据库 show databases; 创建一个使用utf-8字符集的mydb2数据库。 create database mydb2 character set utf8; 创建一个使用utf-8字符集,并带校对规则的mydb3数据库。 create database mydb3 character set utf8 collate utf8_general_ci; 显示库的创建信息 show create database mydb3; 删除前面创建的mydb1数据库 drop database mydb1; 查看服务器中的数据库,并把其中某一个库的字符集修改为gb2312; alter database mydb2 character set gb2312; show create database mydb2; 备份库 1、准备库的数据 create database mydb1; use mydb1; create table test ( id int ); insert into test(id) values(1); select * from test; 2、删除库:drop database mydb1; 3、 4.1 创建库:create database mydb1; 4.2 \. test.sql (通过执行脚本文件实现) 5、

创建一个员工表 use mydb1; 进入库 create table employee ( id int, name varchar(20), gender varchar(4), birthday date, entry_date date, job varchar(40), salary double, resume text )character set utf8 collate utf8_general_ci; 查看库中所有表 show tables; 查看表的创建细节 show create table employee; 查看表的结构 desc employee; 在上面员工表的基本上增加一个image列。 alter table employee add image blob; 修改job列,使其长度为60。 alter table employee modify job varchar(60); 删除sex列。 alter table employee drop gender; 表名改为user。 rename table employee to user; 修改表的字符集 alter table user character set gb2312; show create table user; 列名name修改为username alter table user change column name username varchar(20); 使用insert语句向表中插入一个员工的信息。 insert into employee(id,username,birthday,entry_date,job,salary,resume)

SQLServer数据库的高级操作

(1)批处理 (2) (2)变量 (3) (3)逻辑控制 (5) (4)函数 (7) (4.1)系统函数 (7) (4.2)自定义函数 (13) (5)高级查询 (23) (6)存储过程 (35) (7)游标 (36) (8)触发器 (50) SQL Server 数据库的高级操作 (1) 批处理 (2) 变量 (3) 逻辑控制 (4) 函数 (5) 高级查询 */ (1)批处理 将多条SQL语句作为一个整体去编译,生成一个执行计划,然后,执行! 理解批处理的关键在于"编译",对于由多条语句组成的一个批处理, 如果在编译时,其中,有一条出现语法错误,将会导致编译失败! create table t ( a int,

)

-- 如果多行注释中包含了批处理的标识符go -- 在编译的过程中代码将会被go分割成多个部分来分批编译-- 多行注释的标记将会被分隔而导致编译出错 -- 以下几条语句是三个非常经典的批处理 -- 你猜一下会添加几条记录! /* insert into t values (1,1) go */ insert into t values (2,2) go /* insert into t values (3,3) */ go -- 查询看添加了几条记录 select * from t

truncate table t (2)变量 -- 全局变量 SQL Server中全局变量由系统定义、系统维护,用户一般仅可对其进行读取!-- 查看SQL Server版本 print @@version -- 服务器名称 print @@servername -- 系统错误编号 insert into t values ('a','a') print @@error insert into t values ('a','a') if @@error = 245 print 'Error' -- SQL Server 版本的语言信息 print @@LANGUAGE -- 一周的第一天从星期几算起 print @@datefirst

数据库(SQL)操作命令大全

下列语句部分是Mssql语句,不可以在access中使用。 SQL分类: DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE) DML—数据操纵语言(SELECT,DELETE,UPDATE,INSERT) DCL—数据控制语言(GRANT,REVOKE,COMMIT,ROLLBACK) 首先,简要介绍基础语句: 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

数据库基本操作习题与答案

第三章数据库基本操作 一、选择题 1. 如果需要给当前表增加一个字段,应使用的命令是________。 A) APPEND B) INSERT C) EDIT D) MODIFY STRU 2. 设表文件及其索引已打开,为了确保指针定位在物理记录号为1的记录上,应该使用命令________。 A) SKIP 1 B) SKIP -1 C) GO 1 D) GO TOP 3. 要显示数据库中当前一条记录的内容,可使用命令________。 A) LIST B) BROWSE C) TYPE D) DISPLAY 4. 在当前表中,查找第2个女同学的记录,应使用命令________。 A) LOCATE FOR 性别="女" B) LOCATE FOR 性别="女" NEXT 2 C) LIST FOR 性别="女" CONTINUE D) LOCATE FOR 性别="女" CONTINUE 5. Visual FoxPro的数据库表之间可建立两种联系,它们是________。 A) 永久联系和临时联系B) 长期联系和短期联系 C) 永久联系和短期联系D) 长期联系和临时联系 6. 数据库表的索引中,字段值不能有重复的索引有________种。 A) 1 B) 2 C) 3 D) 4 7. 建立表间临时关联的命令是________。 A) LET RELATION TO命令 B) JOIN命令 C) SET RELATION TO命令 D) 以上都不是 8. 通过关键字建立表间的临时关联的前提是________。 A) 父表必须索引并打开B) 子表必须索引并打开 C) 两表必须索引并打开D) 两表都不必索引 9. 查询设计器的“筛选”选项卡上,“插入”按钮的作用是________。 A) 用于增加查询输出字段B) 用于增加查询的表 C) 用于增加查询去向D) 用于插入查询输出条件 10. 在多工作区的操作中,如果选择了4,7,8号工作区并打开了相应的数据库,在命令窗口执行命令SELECT 0,其功能是________。 A) 选择4号工作区为当前工作区B) 选择0号工作区为当前工作区 C) 选择7号工作区为当前工作区D) 选择8号工作区为当前工作区 11. 表结构中空值(NULL)的含义是________。 A) 空格B) 尚未确定

数据库实验报告高级查询

实验三高级查询 1实验目的 (1)掌握SQL的高级查询的使用方法,如分组统计、嵌套查询、集合查询等等。 2实验内容 2.1 掌握SQL高级查询使用方法 (1)分组统计。 (2)嵌套查询,包括IN查询、EXISTS查询。 (3)集合查询。 3实验要求 (1)深入复习教材第三章SQL有关高级查询语句。 (2)根据书上的例子,针对TPCH数据库模式设计分组统计查询、嵌套查询(IN、EXISTS)语句和集合查询语句,每种类型的基本查询至少要设计一个查询,描述清楚查询要求,运行你所设计的查询语句,并截图相应的实验结果,每幅截图并要有较为详细的描述。也可以按照附2所列示例查询做实验。 (3)实验步骤和实验总结中要详细描述实验过程中出现的问题、原因和解决方法。 4实验步骤 4.1 掌握SQL高级查询使用方法 1 不带分组过滤条件的分组统计查询。 统计每个顾客订购金额。 Select sum(totalprice) From orders O,customer C Where O.custkey=C.custkey Group by O.custkey 2 带分组过滤条件的分组统计查询。 查询平均每个订单金额超过1000元的顾客编号及其姓名。 Select C.custkey,https://www.wendangku.net/doc/3d12908082.html, From orders O,customer C Where O.custkey=C.custkey Group by C.custkey,https://www.wendangku.net/doc/3d12908082.html, Having A VG (O.totalprice)>1000

3IN嵌套查询。 查询订购了“海大”制造的“船舶模拟驾驶舱”的顾客。 Select O.custkey From orders O Where O.orderkey in (select L.orderkey From lineitem L, Where L.partkey in (select P.partkey From part P Where https://www.wendangku.net/doc/3d12908082.html,=’ 船舶模拟驾驶舱’and p.mfgr=’ 海大’)) 4单层EXISTS嵌套查询。 查询没有购买过“海大”制造的“船舶模拟驾驶舱”的顾客。 Select O.custkey From orders O Where not exists (select * From lineitem L Where L.orderkey=O.orderkey and L.partkey in (select P.partkey From part P Where https://www.wendangku.net/doc/3d12908082.html,=’ 船舶模拟驾驶舱’and p.mfgr=’ 海大’)) 5双层EXISTS嵌套查询。 查询至少购买过顾客“张三”购买过的全部零件的顾客姓名。 Select distinct https://www.wendangku.net/doc/3d12908082.html, From customer C1,order O1,lineitem L1,part P1 Where C1.custkey=O1.custkey and O1.orderkey=L1.orderkey=P1.partkey and Not exists (select * Where C2.custkey=O2.custkey and O2.orderkey=L2.orderkey=P2.partkey and https://www.wendangku.net/doc/3d12908082.html,=’ 张三’and Not exists (select * From customer C3,order O3,lineitem L3,part P3 Where C3.custkey=O3.custkey and O3.orderkey=L3.orderkey=P3.partkey and P2.partkey=P3.partkey And C3,name=https://www.wendangku.net/doc/3d12908082.html,) )

数据库操作及查询

第三章数据库操作及查询§1刨建数据库表 一、表的分类:库表、自由表。 二、数据库表与自由表的区别 库表:各个表之间有关联 特点:A:长表名和长字段名。 B:每个字可以有提示和注释。 C:可以定义缺省值。 D:字段级的规则和记录级的规则。 自由表: foxbase 表,独立 三、表结构的定义 操作方法:A:表设计器 B:命令create < 表名> 四、表记录的输入 1、追加方式 2、定义结构时同时输入

五、表记录添加 1)、键盘输入 2)、从已有文件中追加 A、INSERT –SQL 命令 命令格式: INSERT INTO 表名[(字段名1[,字段名2,…])] V ALUES(表达式1[,表达式2,…]) 功能:在表尾追加一个新记录,并直接输入记录数据。 说明:表不必事先打开,字段与表达式的类型必须相同。 例如:INSERT INTO TEACHER(BH,XM,XB,JBGZ)V ALUES (“02005”,“张华”,“女”,2021) B、APPEND 命令 格式:APPEND [BLANK] 功能:向表中追加记录 说明:使用BLANK子句能在表尾追加一条空记录。若不选取则进入全屏幕编缉方式。 C、APEND FROM 命令

格式:APPEND FROM <文件名> FIELDS <字段名表> [FOR< 条件>][[TYPE ] DELIMITED[WITH <定界符>/WITH BLANK/WITH TAB]/SDF/XLS]] 功能:在当前的表尾部追加一批记录,这些记录来自于指定的文件。 说明:1、源文件的类型可以为表、系统数据格式文件、定界格文本文件、Excel文件。 2、执行该文件时源表不用打开。 例如:先将表数据导入到EXCEL表中,然后再追加到空表中。 appe from tyty type xls 六、表的打开和关闭 1、表的打开 A: 命令 use B: “文件”——“打开” C:在窗口菜单的“数据工作”期命令来打开 2)、表的关闭 A、命令:

JAVA数据库基本操作增删改查(精)

JAVA 数据库基本操作, 增删改查 package mypack; JAVA 数据库基本操作, 增删改查 import java.sql.Connection; import java.sql.ResultSet; import java.util.ArrayList; public class DbOper {//查询多行记录public ArrayList select({Connection conn =null; ResultSet rs =null; try {import java.sql.PreparedStatement; import java.sql.SQLException; PreparedStatement pstmt =null; ArrayList al =new ArrayList(; conn =DbConn.getConn(;pstmt =conn.prepareStatement(“select *from titles ”; rs =pstmt.executeQuery(;while (rs.next({Titles t =new Titles(;t.setTitleid(rs.getString(1;t.setTitle(rs.getString(2;al.add(t;}}catch (SQLExceptione { e.printStackTrace(;}finally {try {//TODO 自动生成catch 块if (rs!=null rs.close(;if (pstmt!=nullpstmt.close(;if (conn!=nullconn.close(;}catch (SQLExceptione { e.printStackTrace(;}}//TODO 自动生成catch 块 return al; }//查询单个对象public Titles selectOne(Stringtitleid{Connection conn =null; ResultSet rs =null; try {PreparedStatement pstmt =null; Titles t =new Titles(;

实验4:数据库的高级查询操作

实验四:数据库的各类数据查询操作 一、实验目的 掌握SQL程序设计基本规范,熟练运用SQL语言实现数据的各种查询和设计,包括连接查询、嵌套查询、集合查询等。 二、实验内容和要求 针对KingbaseES数据库设计单个表针对自身的连接查询,设计多个表的连接查询;设计各种嵌套查询和集合查询。了解和掌握SQL查询语句各个子句的特点和作用,按照SQL程序设计规范写出具体的SQL查询语句,并调试通过。 三、实验步骤 连接查询 1. 查询每个学生及其选修课程的情况: select student.*, sc.* from student, sc where student.sno=sc.sno 比较: 笛卡尔集: select student.*, sc.* from student, sc 自然连接: select student.sno, sname, ssex, sdept, cno, grade from student, sc where student.sno=sc.sno 2. 查询每一门课程的间接先行课(只求两层即先行课的先行课): select https://www.wendangku.net/doc/3d12908082.html,o, Second.pcno 间接先行课from course First, course Second where First.pcno=https://www.wendangku.net/doc/3d12908082.html,o 比较: select https://www.wendangku.net/doc/3d12908082.html,o, Second.pcno 间接先行课from course First, course Second where First.pcno=https://www.wendangku.net/doc/3d12908082.html,o and Second.pcno is not null 3. 列出所有学生的基本情况和选课情况, 若没有选课,则只列出基本情况信息: SQL Server 中: select s.sno, sname, ssex,sdept, cno, grade from student s, sc sc where s.sno*=sc.sno 4. 查询每个学生的学号, 姓名, 选修的课程名和成绩: select S.sno, sname, cname, grade from student S, course C, sc SC where S.sno=SC.sno and https://www.wendangku.net/doc/3d12908082.html,o=https://www.wendangku.net/doc/3d12908082.html,o 5. 查询平均成绩在80分以上的学生姓名 Select sname from student,sc where student.sno=sc.sno GROUP BY sc.sno HAVING AVG(sc.grade)>80; 高级查询 使用带IN谓词的子查询 1.查询与’刘晨’在同一个系学习的学生的信息: select * from student where sdept in (select sdept from student where sname='刘晨') 比较: select * from student where sdept = (select sdept from student where sname='刘晨') 的异同

SQL数据库的基本操作

命令行 1、显示当前数据库服务器中的数据库列表:mysql> SHOW DATABASES; 2、建立数据库:mysql> CREATE DATABASE 库名; 3、建立数据表:mysql> USE 库名;mysql> CREATE TABLE 表名(字段名VARCHAR(20), 字段名CHAR(1)); 4、删除数据库:mysql> DROP DATABASE 库名; 5、删除数据表:mysql> DROP TABLE 表名; 6、将表中记录清空:mysql> DELETE FROM 表名; 7、往表中插入记录:mysql> INSERT INTO 表名VALUES ("hyq","M"); 8、更新表中数据:mysql-> UPDATE 表名SET 字段名1='a',字段名2='b' WHERE 字段名3='c'; 9、用文本方式将数据装入数据表中:mysql> load data local infile "d:/mysql.txt" into table 表名; 10、导入.sql文件命令:mysql> USE 数据库名;mysql> source d:/mysql.sql; 11、命令行修改root密码:mysql> update https://www.wendangku.net/doc/3d12908082.html,er set password=password('新密码') where user='root';mysql> flush privileges; 12.修改密码的三种方法:mysql>update user set password=password('') where user='joy_pen';mysql>flush privileges;mysql>set password for 'joy_oen'=password('');mysql>grant usage on *.* to 'joy_pen' identified by ''; 1、创建数据库 命令:create database <数据库名> 例如:建立一个名为xhkdb 的数据库mysql> create database xhkdb; 2、显示所有的数据库 命令:show databases (注意:最后有个s)mysql> show databases; 3、删除数据库 命令:drop database <数据库名> 例如:删除名为xhkdb的数据库mysql> drop database xhkdb; 4、连接数据库 命令:use <数据库名> 例如:如果xhkdb数据库存在,尝试存取它:mysql> use xhkdb; 屏幕提示:Database changed 5、当前选择(连接)的数据库mysql> select database(); 6、当前数据库包含的表信息:mysql> show tables; (注意:最后有个s) 三、表操作,操作之前应连接某个数据库 1、建表 命令:create table <表名> ( <字段名1> <类型1> [,..<字段名n> <类型n>]); mysql> create table MyClass( > id int(4) not null primary key auto_increment, > name char(20) not null, > sex int(4) not null default ''0'', > degree double(16,2)); 2、获取表结构 命令:desc 表名,或者show columns from 表名 mysql>DESCRIBE MyClass mysql> desc MyClass;

数据库原理实验报告模板-实验四高级查询

大连海事大学 数据库原理课程实验报告(2013-2014学年第二学期) 实验四高级查询 班级:软件工程四班 学号:2220121787 姓名:马跃 指导教师:曹志英 成绩: 大连海事大学软件工程系 2014年6 月23 日

目录 1实验目的 (3) 2实验内容 (3) 2.1掌握SQL高级查询使用方法 (3) 3实验要求 (3) 4实验步骤 (3) 4.1掌握SQL高级查询使用方法 (3) 5总结与体会 (6) 5.1实验中出现的问题及其解决方案 (6) 5.2总结 (7) 5.3体会 (7)

1实验目的 (1)掌握SQL的高级查询的使用方法,如分组统计、嵌套查询、集合查询等等。 2实验内容 2.1 掌握SQL高级查询使用方法 (1)分组统计。 (2)嵌套查询,包括IN查询、EXISTS查询。 (3)集合查询。 3实验要求 (1)深入复习教材第三章SQL有关高级查询语句。 (2)根据书上的例子,针对DBTestBed数据库模式设计分组统计查询、嵌套查询(IN、EXISTS)语句和集合查询语句,每种类型的基本查询至少要设计一个查询,描述清楚查询要求,运行你所设计的查询语句,并截图相应的实验结果,每幅截图并要有较为详细的描述。也可以按照附1所列示例查询做实验。 (3)实验步骤和实验总结中要详细描述实验过程中出现的问题、原因和解决方法。 4实验步骤 4.1 掌握SQL高级查询使用方法 (1)不带分组过滤条件的分组统计查询。 统计2013-2014上学期信息学院(01)开设的每门课程的最高分,最低分,及平均成绩。 select C.coursename,avg(score)AVGS,max(score)MAXS,min(score)MINS from tb_select_course A,Tb_Cultivate_Scheme B,Tb_Course_info C where A.schemeid=B.schemeid and B.cyear='2013'and B.term='上'and C.courseid=B.courseid and C.deptid='01' group by C.coursename

数据库语法大全

一、简单的增删改查: 表名为room 查:select *from 表 where 字段=要查询的值 增:insert into room values(…要增加的值?,…..) 改:udate 表 set roomjc=?DDD? where id=1;(改变room表中字段id为1的roomjc的数据) 删: delete from room where id=?1?(删除表中字段ID为1的那一行数据) 二、建表 Create table 表名( 主键ID自增 字段字段类型 identity(1,1) not null 主键(primary key) 字段字段类型 null 外键(foreign key) (还有一个唯一约束unique(col_name)) … ………. ) 向表中插入数据: Insert into 表名 values(?1?,?aa?) …………….. ……. 删除数据表: Drop table 表名;

三、数据的查询 1.查询多少到多少之间的数据(用”between”关键字) Select *from room where id between 1 and 5 (查询id为1到5之间的数据) 2.改变字段名 Select 名称=foodname 类型=foodbjf from room (把表中room中的字段名为foodname改成”名称”,foodbjf改为”类型”) 3.查询重复的数据(关键字”group by” (分组)) g roup by 列名 having 条件表达式 Select *from room where roombjf in(select roombjf from room group by roombjf having count (roombjf)>1) order by id(“查询表中room 字段为roombjf的重复数据”按id进行排序) 升序:order by 字段 asc 降序:order by 字段 desc 4.删除重复的数据(所有重复的都将删除): 将select改为delete还可以用distinct关键字:select distinct 字段名 from 表名5.限制返回行数(top n)则查询结果值显示表中前n条记录: Select top 5 from 表名; 6.逻辑运算符: And:用来链接两个必须同时成立的条件 Or:任意一个成立即可 Not:用来给定的结果取反

实验08 数据表的高级查询操作

实验八数据表的高级查询操作 课程名称:数据库技术 实验名称:数据的高级查询实验课时:2课时实验时间:第9周 实验环境:SQL Server 2005 实验目的: 1、掌握左连接、右连接、全接连的查询。 2、掌握带“IN”谓词的子查询。 3、掌握带比较运算符谓词的子查询。 4、掌握带“EXISTS”谓词的子查询。 实验内容: 【说明】把第1、5、14、15题做在实验报告中。 注意:使用student数据库完成第1、3、4、5、7、10、14、15、17题;使用stu_course数据库完成第2、6、8、9、11、12、13、16、18题。 1、查询“06级网络技术班”班级的学生,显示学生学号、姓名、班级名称和班级代码。(连 接查询) 2、查询选修了课程的每个学生的学号、姓名、选修的课程名称和成绩。(连接查询) 3、查询“06级软件工程班”的学生信息(要求用连接谓词为“=”和“IN”的两种方法)。 4、查询不是“06级软件工程班”的学生信息,并显示所在的班级名称(连接查询) 。 5、查询不是“06级软件工程班”的学生信息。 6、查询“课程注册”表中成绩没有不及格的学生,显示学生的学号和最低成绩。 (说明:如果表中学生的成绩都是及格,则自己动手把其中一个学生的某门课程改成不及格。)7、查询“课程注册”表中成绩没有不及格的学生,显示学生的学号、姓名、课程号和成绩。 (提示:用带有“IN”的嵌套查询方法)。 8、查询选修了课程的每个学生学号、姓名、选修的课程名及成绩。 9、使用stu_course数据库,查询选修2号课程且成绩在80分以上的所有学生的学号、姓名. 10、使用student数据库,查询选修“0003”号课程且成绩在80分以上的学生的学号、姓 名,并显示该选修课的课程号、成绩、任课教师的教师编号和姓名。 11、查询每个学生及其选修课程的情况包括没有选修课程的学生(左外连接)。 12、查询开设选修的课程及选修课程的学生情况,包括没有被学生选修的课程(右外连接)。 13、查询每个学生及每门选修课程的情况包括没有选修课程的学生和没有被选的课程(全 外连接)。 14、查询和“孙辉”在同一个班级学习的学生信息(提示:用带IN的子查询方法)。 15、查询选修了“网络营销”课程的学生学号、姓名(试用带IN的子查询方法求解) 。 16、查询选修了课程名为“数据库”的学生学号和姓名。(试用子查询方法求解) 。 17、查询“经济管理系”和“商务技术系”的学生信息(要求用连接查询和带“IN”的子查 询两种方法)。 18、查询其他系中比信息系(IS)任意一个学生年龄小的学生,显示其姓名、年龄和所在系部。 (试用带ANY/ALL和集函数两种方法) 19、附加题:查询所有选修了1号课程的学生姓名。(试用带EXISTS谓词的方法求解)

相关文档
相关文档 最新文档