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

C#常用数据库操作方法整理
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();

//关闭数据库连接,释放资源。否则,将一直连接数据库,别的代码无法跟数据库连接,这样别的代码无法操作数据。

SqlParameter MyParameter = new SqlParameter("@Content", SqlDbType.NText);

//sql参数:参数名为MyParameter,他对应@Content变量,该变量的值由MyParameter获得,给MyParameter赋值等于给@Content变量赋值,但无法直接给@Content变量赋值。构造函数第二个参数定义变量类型。@Content变量可用于sql操作语句。

MyParameter.Value = Content;

//给sql参数赋值。

Cmd.Parameters.Add(MyParameter);

//把sql 参数放到comm的参数列别中,这样sql参数对应的变量就能被sql语句调用了。conn.Open()

SqlDataReader dr = Cmd.ExecuteReader();

while (dr.Read())

{

//利用dr[索引] 对数据表里的数据进行操作,每次循环将读取数据表中一行数据,从上往下依次执行,直到读完为止。

// dr[索引] 返回类型为object

//可以用数据表属性列名做为索引,也可以根据select 后的属性列顺序号为索引,序号从0开始}

dr.Close();

//必须在关闭数据库前关闭数据库读命令

conn.Close();

//关闭数据库连接。

SqlDataAdapter da = new SqlDataAdapter(SQLString, conn);

//定义数据桥接器,用于向数据表中填充数据,自己完成数据库打开与关闭,不需要conn.Open()和conn.Close()

DataTable dt = new DataTable();

//定义数据表

DataSet ds = new DataSet();

//定义数据集,数据集里放多个数据表

da.Fill(ds);

//往数据集里填数据,假如数据集里没有表,将产生一个表,放在集合的最前面。也可以写成da.

Fill(ds,“表名”);这个对数据集中无论有多表还是单表都有效

da.Fill(dt);

//往数据表里填数据

//可以通过ds.Tables.Add(dt);往数据集里加数据表

//可以通过ds. Tables[索引]来获得数据表。索引可是是序号,也可以是表的别名

//dt.Rows[][].ToString(); // Rows第一个下标为数据在数据表中的行号,第二个下标为数据在那行中的列号。

// ds. Tables[索引] .Rows[][].ToString();

//有了DataTable对象,就可以生成DataView对象

//DataView dv = new DataView(dt);

//DataView dv = dt.DefaultView;

//DataView dv = ds.Tables[0].DefaultView;

DataTable dt = new DataTable("dt");

//定义DataTable对象

da.Fill(dt);

//用SqlDataAdapter对象给DataTable对象填充数据

DataView dv = new DataView(dt);

//在建立了DataTable对象的基础上定义DataView对象

dv.RowFilter = "shuxue>80 and yuwen>80";

//对查询出来的数据利用DataView对象的RowFilter属性进一步对数据进行筛选。

dv.Sort = "zongfen desc";

//对查询出来的数据利用DataView对象的Sort属性进一步对数据进行排序。

this.GridView1.DataSource = dv;

//dv作为数据源,赋值给GridView1

this.GridView1.DataBind();

//将数据源数据绑定到GridView1(winform不需要,网页中需要)

//以上可以作为数据源的有SqlDataReader对象,DataTable对象,DataSet对象,DataView对象,即可以赋值给控件的DataSource属性。

//方法贵在活用,上面涉及的类中还有别的操作方法,暂不整理。

//以下是以上方法的代表性使用

SqlConnection conn = new SqlConnection("server=.;database=student;uid=sa;pwd=123456;");

SqlDataAdapter da = new SqlDataAdapter("select * from kaoshi", conn);

DataTable dt = new DataTable();

da.Fill(dt);

this.GridView1.DataSource = dt;

this.GridView1.DataBind();

第二种:DataSet对象查询数据

SqlConnection conn = new SqlConnection("server=.;database=student;uid=sa;pwd=123456;");

SqlDataAdapter da = new SqlDataAdapter("select * from kaoshi", conn);

DataSet ds = new DataSet();

da.Fill(ds);

this.GridView1.DataSource = ds;

// this.GridView1.DataSource = ds.Tables[0]; //这种数据源赋值语句都可以

this.GridView1.DataBind();

第三种:DataTable对象与DataSet对象查询数据1

SqlConnection conn = new SqlConnection("server=.;database=student;uid=sa;pwd=123456;");

SqlDataAdapter da = new SqlDataAdapter("select * from kaoshi", conn);

DataTable dt = new DataTable();

//DataTable dt = new DataTable("cj");//定义一个有别名的数据表,

da.Fill(dt);

DataSet ds = new DataSet();

ds.Tables.Add(dt);

this.GridView1.DataSource = ds;

// this.GridView1.DataSource = ds.Tables[0];//这种数据源赋值语句都可以(只有一个表)//this.GridView1.DataSource = ds.Tables["cj"];//别名作为索引(有若干个表)

//this.GridView1.DataSource = ds.Tables[2];//序号作为索引(ds中的第三个表)

this.GridView1.DataBind();

第四种:DataTable对象与DataSet对象查询数据2

SqlConnection conn = new SqlConnection("server=.;database=student;uid=sa;pwd=123456;");

SqlDataAdapter da = new SqlDataAdapter("select * from kaoshi", conn);

DataTable dt = new DataTable("cj");//定义一个有别名的数据表,

DataSet ds = new DataSet();

ds.Tables.Add(dt);

da.Fill(ds,"cj");

this.GridView1.DataSource = ds;

// this.GridView1.DataSource = ds.Tables[0]; //这种数据源赋值语句都可以(只有一个表)//this.GridView1.DataSource = ds.Tables["cj"];//别名作为索引(有若干个表)

//this.GridView1.DataSource = ds.Tables[2];//序号作为索引(ds中的第三个表)

this.GridView1.DataBind();

SqlConnection conn = new SqlConnection("server=.;database=student;uid=sa;pwd=123456;");

SqlDataAdapter da = new SqlDataAdapter("select * from kaoshi", conn);

DataTable dt = new DataTable();

da.Fill(dt);

DataView dv = dt.DefaultView;

//DataView dv = new DataView(dt);

//DataView dv = dt.DefaultView;

// DataView dv =ds.Tables[0].DefaultView;

dv.RowFilter = "shuxue>80 and yuwen>80";

dv.Sort = "zongfen desc";

this.GridView1.DataSource = dv;

this.GridView1.DataBind();

第六种:SqlDataReader对象进行数据查询1

SqlConnection conn = new SqlConnection("server=.;database=student;uid=sa;pwd=123456;");

SqlCommand comm = new SqlCommand("select * from kaoshi", conn);

conn.Open();

SqlDataReader dr = comm.ExecuteReader();

this.GridView1.DataSource = dr;

this.GridView1.DataBind();

dr.Close();

conn.Close();

第七种:SqlDataReader对象进行数据查询2

SqlConnection conn = new SqlConnection("server=.;database=student;uid=sa;pwd=123456;");

SqlCommand comm = new SqlCommand("select * from kaoshi", conn);

conn.Open();

SqlDataReader dr = comm.ExecuteReader();

while (dr.Read())

{

//根据dr[索引]对这行数据进行处理

}

dr.Close();

conn.Close();

第八种:数据查询 ExecuteScalar()

SqlConnection conn = new SqlConnection("server=.;database=student;uid=sa;pwd=123456;");

SqlCommand comm = new SqlCommand("select * from kaoshi", conn);

conn.Open();

int n = comm.ExecuteScalar();//获得查询结果的第一行第一个单元格数据

conn.Close();

第九种:对数据库进行“增删改”操作

SqlConnection conn = new SqlConnection("server=.;database=student;uid=sa;pwd=123456;");

SqlCommand comm = new SqlCommand("delete from kaoshi where id=3", conn);

//由sql语句确定采取增删改的哪种操作

conn.Open();

int nums = comm.ExecuteNonQuery();

conn.Close();

数据库基础操作语句

一、基础 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 Server 2008 数据库案例教程课后习题答案

《SQL Server 2008数据库案例教程》练习题及模拟试卷答案 第1章 一、判断题 1. 数据库技术是是计算机数据处理与信息管理系统的核心。(√) 2. 数据是用于描述现实世界中具体事物或抽象概念,可存储的数字符号。(×) 3. 数据库是一个长期存储在计算机内的、有组织的、有共享的、统一管理的数据集合。(√) 4. 数据库管理系统是一个按数据结构来存储和管理数据的服务器管理系统。(×) 5. 关系数据库,是建立在关系模型基础上的数据库。(√) 二、单选题 1. 数据(Data)是一些可存储并具有明确意义的(A) A. 符号 B.图形 C.文字 D.数字 2. 人工阶段计算机用于数值计算,没有操作系统及管理数据的软件。这一阶段的年代是(C) A. 19世纪80年代 B. 20世纪20年代 C.20世纪50年代 D. 20世纪80年代 3. 在网页中常用的图像格式是(D) A..bmp和.jpg B..gif和.bmp C. .png和.bmp D. .gif和.jpg 4.数据库系统的重要特征是什么?(D) A. 数据的独立性和动态性 B.数据的静态性和独立性 C.数据的动态性和共享性 D.数据的独立性和共享性 三、多选题 1.与数据库技术密切相关的基本概念有(ABCD) A. 数据 B. 数据库 C. 数据库管理系统 D. 数据库系统 2.数据库可分为哪几种类型?(ABC) A. 关系型数据库 B. 网状数据库 C. 层次数据库 D.树形数据库 3. DBMS提供数据操作语言DML,为用户提供了哪些操作?(ABCD) A.数据的追加B.数据的删除C.数据的更新D.数据的查询 4.DBMS要分类组织、存储和管理各种数据,包括哪些内容?(ABC) A. 数据字典 B. 用户数据 C. 存取路径 D.服务器 5. 目前,DBMS常见品牌有哪些公司?(ABC) A.微软公司的SQL Server B.IBM公司的DB2 C.甲骨文公司的ORACLE D.索尼公司的MySQL 四、填空题 1.数据库(管理)技术经历了人工管理阶段和文件管理阶段。 2.文件系统不提供对任意部分数据的(快速)访问 3.关系数据库,是建立在关系(模型)基础上的数据库。 4.实体-联系模型(简称E-R模型)是由P.P.Chen于(1976)年首先提出的。

用T-SQL语句完成创建和管理数据库操作练习

-创建数据库语句语法: CREATE DATABASES 据库名 [ON [PRIMAR Y] {(NAME^据文件的逻辑名称, FILENAME‘数据文件的路径和文件名’,(要包含文件扩展名)SIZE二数据文件的初始容量,(不能小于Model数据库的初始文件大小) MAXSIZE二数据文件的最大容量, FILEGROWTH数据文件的增长量)}[,…n] LOG ON {(NAME=事务日志文件的逻辑名称, FILENAMES务日志文件的物理名称', SIZE=事务日志文件的初始容量, MAXSIZE=事务日志文件的最大容量, FILEGROWTH事务日志文件的增长量)儿…n]] 判断同名的数据库是否存在: IF EXISTS (SELECT FROM master..sysdatabases WHERE name =' 数据库名')

DROP DATABASE数据库名 GO 修改数据库操作语句: ALTER DATABAS数据库名 {[add file 文件描述][to filegroup 文件组名] 新增数据文件I [add log file 文件描述] 新增日志文件 I [remove file 逻辑文件名]删除数据库文件 I [add filegroup 文件组名]新增文件组 I [remove filegroup 文件组名] 删除文件组 I [modify file 文件修改内容描述]修改数据文件属性} 查看数据库文件属性 EXECSp_helpfile 系统存储过程,用于查看数据库有哪些文件及文件属性。 删除数据库 Drop database数据库名称 分离数据库 EXEC Sp_detach_db 数据库名称 附加数据库 CREATE DATABASE 据库名 ON PRIMAR Y (FILENAME=') 说明:附加数据库只需指定数据库的主数据文

华师在线数据库应用作业及答案

作业 1.第1题 使用( )身份验证方式需要客户端应用程序连接时提供登录时需要的用户标识和密码。 A.Windows身份验证 B.SQL Server 身份验证 C.以超级用户身份登录时 D.其他方式登录时 您的答案:B 2.第2题 表达式'123’+'456’的值是()。 A.123456 B.579 C.'123456’ D.'123456” 您的答案:B

3.第3题 将多个查询结果返回一个结果集合的运算符是( )。 A.JOIN B.UNION C.INTO D.LIKE 您的答案:B 4.第4题 使用T-SQL创建视图时,不能使用的关键字是:( )。 A.ORDER BY B.WHERE https://www.360docs.net/doc/2e6135236.html,PUTE D.WITH CHECK OPTION 您的答案:C 5.第5题 系统存储过程在系统安装时就已创建,这些存储过程存放在( )系统数据库中。 A.master

B.tempdb C.model D.msdb 您的答案:A 6.第6题 下面哪种文件无法与SQL Server数据库进行导入和导出操作()。 A.文本文件 B.EXCEL文件 C.Word文件 D.Access文件 您的答案:C 7.第7题 数据库逻辑结构设计阶段的主要功能是:( )。 A.明确用户需求,确定新系统的功能 B.建立数据库的E-R模型 C.将数据库的E-R模型转换为关系模型 D.选择合适的存储结构和存储路径

您的答案:C 8.第8题 在数据库设计过程使用( )可以很好的描述数据处理系统中信息的变换和传递过程。 A.数据流图 B.数据字典 C.E-R图 D.系统流程图 您的答案:A 9.第9题 下列SQL语句中,能够实现参照完整性控制的语句是:( )。 A.FOREIGN KEY B.PRIMARY KEY C.REFERENCES D.FOREIGNKEY和REFERENCES 您的答案:D 10.第10题 T-SQL中的全局变量以( )作前缀。

数据库图书管理系统(含代码)

目录 一.需求描述和系统边界 (2) 二.需求分析 (2) 1.业务需求 (2) 2.功能需求及数据需求分析 (2) 3.业务规则分析 (3) 三.实体集及属性 (4) 四.联系集及E-R图 (5) 五.逻辑数据库设计 (6) 六.数据库编程 (7) 1.创建表 (7) 2.创建触发器 (10) 3.管理员操作 (10) 4.读者操作 (11) 5. 管理员对借阅关系的操作 (12) 七.代码实现 (13) 1.输入数据设计 (13) 2.完成借阅、续借、归还的操作设计 (15) 八.模式求精 (17) 九.小结 (17)

一.需求描述和系统边界 数据库技术和Internet的飞速发展,使它们已经成为现代信息技术的重要组成部分,是现在计算机信息系统和计算机应用系统的基础和核心。对于任何一个企业来说,数据是企业重要的资产,如何有效利用这些数据,对于企业发展起着极其重要的作用。随着我国市场经济的迅速发展和人们生活水平的不断提高,图书馆藏书的数目逐渐增大,这也挑战了图书管理方面的技术,以前的人工管理方式已经不再适应现在的环境,取而代之的是先进的图书管理系统,创建图书管理系统可以让管理人员方便而快捷的进行管理、查询、借阅、录入等工作。 该图书管理系统支持2类用户:管理员和读者。读者可以进行借阅、续借、归还和查询书籍等操作,管理员可以完成书籍和读者的增加,删除和修改以及对读者,借阅、续借、归还的确认。 二.需求分析 1.业务需求 图书管理系统的主要业务包括:包括图书馆内书籍的信息,读者信息,以及借阅信息。此系统功能分为面向读者和面向管理员两部分,其中读者可以进行借阅、续借、归还和查询书籍等操作,管理员可以完成书籍和读者的增加,删除和修改以及对读者,借阅、续借、归还的确认。 2.功能需求及数据需求分析 (1)注册管理 管理员注册。管理员注册时要求填写基本信息,包括管理员编号、姓名、性别、联系电话、家庭住址。系统检查所有信息填写正确后管理员注册成功。 读者注册。读者注册时要求填写基本信息,包括读者编号、姓名、性别、联系电话、学院等。系统检查所有信息填写正确后读者注册成功。 (2)图书管理 增加图书信息。当有新的图书入库时,管理员负责添加图书信息,包括书名、分类、图书编号、作者、出版社、出版时间、简介等。 图书信息查询。管理系统需提供方便快捷的方式进行图书检索。如可以输入

sql数据库示例,适合初学者

一、数据库概述 数据库(DataBase,DB):指长期保存在计算机的存储设备上,按照一定规则组织起来,可以被各种用户或应用共享的数据集合。(文件系统) 数据库管理系统(DataBase Management System,DBMS):指一种操作和管理数据库的大型软件,用于建立、使用和维护数据库,对数据库进行统一管理和控制,以保证数据库的安全性和完整性。用户通过数据库管理系统访问数据库中的数据。 数据库软件应该为数据库管理系统,数据库是通过数据库管理系统创建和操作的。 数据库:存储、维护和管理数据的集合。 二、数据库的安装与配置 * 安装 * 参照图解 * 一路下一步 * 配置 * 参照图解 * 到选择字符集时停 登录Mysql: mysql -u root -p abc * 卸载 1.停止mysql服务net stop mysql 启动mysql服务net start mysql 2.卸载mysql 3.找到mysql 安装目录下的my.ini datadir="C:/ProgramData/MySQL/MySQL Server 5.5/Data/" * 修改密码 运行cmd * 安装成功了打开cmd --> mysql -uroot -p你的密码 * 修改mysql root用户密码 1) 停止mysql服务运行输入services.msc 停止mysql服务 或者cmd --> net stop mysql 2) 在cmd下输入mysqld--skip-grant-tables 启动服务器光标不动(不要关闭该窗口) 3) 新打开cmd 输入mysql -u root -p 不需要密码

数据库作业答案

实验六 1、查询所有数学系学生的信息。 --select * from s where 系='数学系' 2、查询李老师所教的课程号、课程名 --select 课程号,课程名from c where 教师like '李%' 3、查询年龄大于20岁的女同学的学号和姓名。 --select 学号,姓名from s where year(getdate())-year(出生日期)>20 and 性别='女' 4、查询学号为‘H0301’所选修的全部课程成绩。 --select 成绩from sc where 学号= 'H0301' 5、查询平均成绩都在80分以上的学生学号及平均成绩。 --select 学号,AVG(成绩) from sc group by 学号having AVG(成绩)>80 6、查询至少有6人选修的课程号。 --select 课程号from sc group by 课程号having count(*)>=6 7、查询C02号课程得最高分的学生的学号 --select 学号from sc where 课程号='c02' and 成绩=(select max(成绩) from sc where 课程号='c02') 8、查询学号为’J0101’的学生选修的课程号和课程名 --select 课程号,课程名from c,sc where 学号='j0101' and c.课程号=sc.课程号 9、‘李小波’所选修的全部课程名称。 --select c.课程名from s,c,sc where s.学号=sc.学号and c.课程号=sc.课程号and 姓名='李小波' 10、所有成绩都在70分以上的学生姓名及所在系。 --select 姓名,系from s,sc where s.学号=sc.学号group by 姓名, 系having min(成绩)>=70 11、英语成绩比数学成绩好的学生 select sc2.学号 from c c1,c c2,sc sc1,sc sc2 where c1.课程名='英语' and c2.课程名='数学' and sc1.成绩>sc2.成绩 and sc1.学号=sc2.学号and c1.课程号=sc1.课程号and c2.课程号=sc2.课程号 或: Select sc1.学号from sc sc1, sc sc2 where sc1.学号=sc2.学号 And (sc1.课程号in (select 课程号from c where 课程名= ‘英语’))

一个完整的数据库示例--说明

一、表的结构及完整性约束 新建一个数据库jxsk,包括S、C、SC、T、TC五个表,结构如下:C表: S表: SC表: T表:

TC表: 二、安全性控制及视图机制 1、三类角色:depart、teacher、student depart的权限: teacher的权限:

student的权限: 2、有2个院系用户:d_jsj,d_xx,同属于depart角色。

有1个教师用户:t ,属于teacher 角色。

有一个学生用户:s,属于student角色。 3、创建计算机系教师视图t_view_jsj、计算机系学生视图s_view_jsj,并授予d_jsj 用户在这两个视图上的select、delete、update、insert权限。 计算机系教师视图t_view_jsj: create view t_view_jsj as select tno,tn,sex,age,prof,sal,comm,dept from t where dept='计算机' with check option

授予d_jsj用户在计算机系教师视图t_view_jsj 上的select、delete、update、insert 权限: grant select,update,delete,insert on t_view_jsj to d_jsj 计算机系学生视图t_view_jsj: create view s_view_jsj as select sno,sn,sex,age,dept,resume,native from s where dept='计算机' with check option 授予d_jsj用户在计算机系学生视图s_view_jsj 上的select、delete、update、insert 权限: grant select,update,delete,insert on s_view_jsj to d_jsj …… 4、创建一个视图,显示学号,姓名,院系,课程名,成绩。 create view score_view(学号,姓名,院系,课程名,成绩) as select s.sno,sn,dept,cn,score from s,sc,c where s.sno=sc.sno and https://www.360docs.net/doc/2e6135236.html,o=https://www.360docs.net/doc/2e6135236.html,o 三、完整性控制--触发器、规则 1、要求当删除C表中某课程信息时,同时删除SC和TC中与此课程相关的记录。create trigger c_delete_trigger on c after delete as delete from sc where cno in (select cno from deleted) delete from tc where cno in (select cno from deleted) go

用T-SQL语句完成创建与管理数据库操作练习

·创建数据库语句语法: CREATE DATABASE 数据库名 [ON [PRIMARY] {(NAME=数据文件的逻辑名称, ‘数据文件的路径和文件名’, (要包含文件扩展名) SIZE=数据文件的初始容量,(不能小于Model数据库的初始文件大小) MAXSIZE=数据文件的最大容量, 数据文件的增长量)}[,…n] LOG ON {(NAME=事务日志文件的逻辑名称, '事务日志文件的物理名称', SIZE=事务日志文件的初始容量, MAXSIZE=事务日志文件的最大容量, 事务日志文件的增长量) }[,…n]] 判断同名的数据库是否存在: IF EXISTS (SELECT * FROM master..sysdatabases WHERE name = '数据库名') DROP DATABASE 数据库名 GO

修改数据库操作语句: ALTER DATABASE 数据库名 {[add file 文件描述] [to 文件组名] 新增数据文件 |[add log file 文件描述] 新增日志文件 |[remove file 逻辑文件名] 删除数据库文件 |[add 文件组名] 新增文件组 |[remove 文件组名] 删除文件组 |[modify file 文件修改内容描述] 修改数据文件属性} 查看数据库文件属性 EXEC sp_helpfile 系统存储过程,用于查看数据库有哪些文件及文件属性。 删除数据库 Drop database 数据库名称 分离数据库 EXEC Sp_detach_db 数据库名称 附加数据库 CREATE DATABASE 数据库名 ON PRIMARY (’’) 说明:附加数据库只需指定数据库的主数据文件。 FOR ATTACH 如果移动过数据库文件,则需要指出所有移动过的文件。 用存储过程也可以附加数据库:

JAVA连接各种数据库的代码大全

Java数据库连接大全 注:newInstance()可要可不要。 通用JDBC-ODBC直连方式(无需额外的驱动包): Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); Connection conn=DriverManager.getConnection("jdbc:odbc:Driver={SQL Server};Server=localhost;uid=sa;pwd=1111;Database=db"); 以下方式中Class.forName中的都是需要添加的驱动包。 1Java连接Oralce Class.forName("oracle.jdbc.driver.OracleDriver").newInstance(); String url="jdbc:oracle:thin:@localhost:1521:orcl"; Connection conn=DriverManager.getConnection(url,user,password); 2Java连接MySQL Class.forName("org.gjt.mm.mysql.Driver").newInstance(); //Class.forName("com.mysql.jdbc.Driver"); String URL="jdbc:mysql://localhost/test"; Connection conn=DriverManager.getConnection(url,user,password); 3Java连接SQLServer 连接mssql2000 Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance(); String URL="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=db"; Connection conn=DriverManager.getConnection(url,user,password); 连接mssql2005+ Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance(); String URL="jdbc:sqlserver://localhost:1433;DatabaseName=db"; Connection conn=DriverManager.getConnection(url,user,password); 通用方式: Class.forName("net.sourceforge.jtds.jdbc.Driver").newInstance(); String url="jdbc:jtds:sqlserver://localhost:1433;DatabaseName=db"; Connection conn=DriverManager.getConnection(url,user,password); 4Java连接DB2 Class.forName(“com.ibm.db2.jdbc.app.DB2Driver").newInstance(); String URL=”jdbc:db2://localhost:5000/db"; Connection conn=DriverManager.getConnection(url,user,password); 5Java连接Infomix Class.forName("https://www.360docs.net/doc/2e6135236.html,rmix.jdbc.IfxDriver").newInstance(); String URL="jdbc:informix-sqli://123.45.67.89:1533/db:INFORMIXSERVER=myserver"; Connection conn=DriverManager.getConnection(url,user,password); 6Java连接SyBase Class.forName("com.sybase.jdbc.SybDriver").newInstance(); Properties sysProps=System.getProperties(); SysProps.put("user","userid"); SysProps.put("password","user_password"); Connection conn=DriverManager.getConnection(url,SysProps);

用TSQL语句完成创建与管理数据库操作练习

CREATE DATABASE 数据库名 [ON [PRIMARY] {(NAME= 数据文件的逻辑名称, FILENAME=‘ 数据文件的路径和文件名 ' , (要包含文件扩展名)SIZE= 数据文件的初始容量,(不能小于Model 数据库的初始文件大小) MAXSIZE= 数据文件的最大容量, FILEGROWTH二数据文件的增长量)}[,…n] LOG ON {(NAME= 事务日志文件的逻辑名称, FILENAME=' 事务日志文件的物理名称', SIZE= 事务日志文件的初始容量, MAXSIZE= 事务日志文件的最大容量, FILEGROWTH二事务日志文件的增长量)}[,…n]] 判断同名的数据库是否存在: IF EXISTS (SELECT * FROM master..sysdatabases WHERE name = '数据库名') DROP DATABASE 数据库名 GO

ALTER DATABASE 数据库名 [add file 文件描述] [to filegroup 文件组名] 新增数据文件[add log file 文件描述] 新增日志文件 [remove file 逻辑文件名] 删除数据库文件 [add filegroup 文件组名] 新增文件组 [remove filegroup 文件组名] 删除文件组 [modify file文件修改内容描述]修改数据文件属性} 查看数据库文件属性 EXEC sp_helpfile 系统存储过程,用于查看数据库有哪些文件及文件属性。 删除数据库 Drop database 数据库名称 分离数据库 EXEC Sp_detach_db 数据库名称 附加数据库 CREATE DATABASE 数据库名 ON PRIMARY (FILENAME= '' ) 说明:附加数据库只需指定数据库的主数据文件。 FOR ATTACH 用存储过程也可以附加数据库: sp_attach_db 数据库名,filename= '' 如果移动过数据库文件,则需要指出所有移动过的文 件。

数据库作业题目及答案

实验三内容补充 在“教学管理系统”中设计了许多查询,上述只介绍其中具有代表性的部分,其余查询读者可依例完成。本系统包括的所有查询如下所示: 说明:同学们在进行后面的表单设计时,需要用到没有设计过的查询,则再进行对应的查询设计,没有设计到的可以不做。 1.90 以上学生信息 2.按班查不及格学生 3.按班级编号查看学生基本信息 4.按班级查教师信息 5.按班级查选课 6.按教师编号查 7.按教师姓名查看授课信息 8.按课程类别查 9.按课程名查 10.按上课地点查 11.按所选课程查 12.按系名查 13.按姓名查看学生基本信息 14.按学分查 15.按学号查看学生基本信息 16.按学号查选课 17.按职称查 18.不及格人次 19.不及格学生信息 20.低于所在班平均分学生 21.各班学生人数统计 22.各系教师人数 23.各职称教师人数 24.教师基本信息表查询 25.教师每周学时总数 26.每班不及格人次 27.每班每门课平均成绩 28.每班男女生人数 29.每班平均成绩 30.每班平均分 31.每名学生平均成绩 32.某学年某学期教师每周学时总数 33.某学期某课不及格信息 34.统计各系教师的人数 35.统计各职称教师的人数 36.统计每门课教师的人数 37.统计有课教师的人数 38.学生相关信息查询 39.学生选课情况 40.有课教师的人数

实验四数据登录窗体设计一 4.1数据登录窗体的向导创建 在Access中创建窗体有人工方式创建和使用窗体向导创建两种方法。人工方式创建窗体,需要创建窗体的每一个控件,并建立控件和数据源之间的联系。而使用窗体向导创建窗体,用户只需按照向导的提示输入有关信息,一步一步地完成。创建过程既简单、快捷,又效率高,因此,在设计Access数据库应用系统时,往往是先使用窗体向导建立窗体的基本轮廓,然后再切换到设计视图使用人工方式进行调整。我们在创建“登录教师档案”窗体时采用的就是这种方法。 利用窗体向导创建“登录教师档案”,窗体的步骤如下: ①双击“窗体”对象中“使用向导创建窗体”选项,启动“窗体向导”如图2-1所示。 图2-1“窗体向导”第一个窗口 ②单击“表/查询”下拉列表框右侧的箭头,列出所有有效的表或者查询数据源,从中选择“表:教师档案表”。 ③在“可用字段”列表框中选择需要在新建窗体中显示的字段,此处,单击按钮选择所有字段。 ④单击“下一步”按钮,弹出如图2-2所示的窗口。在此对话框中,选择“纵栏表”项,这时可以在左边看到所建窗体的布局。

ACCESS数据库中常见的SQL语句汇总教程

ACCESS数据库的SQL语句教学 1、查询所有记录:Select *通常用于快速查看表中的记录。当对表的结构无法确切记忆时,或要快速查看表中的记录时,使用Select *是很方便的。 use 企业销售管理系统 Select * from 职工 2、投影查询:很多时候并不需要将所有列的数据都显示出来。投影查询就是允许用户显示所需要的列。假设显示职工表中职工号、姓名、工资信息,具体操作方法如下。 Select 职工号,姓名,工资 from 职工 在Select查询中,还可以按照实际的需要或自己的喜好安排显示列的顺序,如果要把姓名放到第一列,则代码如下: Select 姓名, 职工号,工资 from 职工 3、条件查询:显示wh1或wh2仓库、性别不为女、工资在1300~2100之间的职工信息。具体操作如下: Select * from 职工号 where(仓库号='wh1' or 仓库号='wh2') And not 性别='女' and 工资>=1300 and 工资<=2100 在这里一定要注意,(仓库号='wh1' or仓库号='wh2')一定要加括号,否则就不是原题的意思。 4、谓词In查询:在查找特定条件的数据时,如果条件较多,就需要用到多个Or运算符,以查找满足其中任一条的记录。但使用多个Or运算符,将使Where子句变得过于冗长,这时使用In就非常清楚。另外,在后面讲解的嵌套查询中,也必须使用In查询。下面以显示zg1、zg2、zg11、zg15的订购单信息为例具体讲解一下。

使用Or运算符 Select * from 订购单 where 职工号='zg1' or 职工号='zg2' Or 职工号='zg11' or 职工号='zg15' 使用谓词In Use 企业销售管理系统 Select * from 订购单 where 职工号 in('zg1', 'zg2', 'zg11', 'zg15') 在Select语句中,还支持In与Not结合使用。假设显示职工号不为zg1, zg2, zg11, zg15的订购单信息,具体代码如下: 使用Or运算符 Select * from 订购单 where 职工号!='zg1' or 职工号!='zg2' Or 职工号!='zg11' or 职工号!='zg15' 使用谓词In Use 企业销售管理系统 Select * from 订购单 where 职工号 not in('zg1', 'zg2', 'zg11', 'zg15') 5、模糊Like查询:有的时候,我们不清楚所要查询的信息,如显示职工信息,但不能确定该职工的姓名,只知道他姓名中含有“王”字,那该如何查找呢?SQL中提供了Like关键字,使用Like进行了查询时,还要指定通配符。 通配符及其含义

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.360docs.net/doc/2e6135236.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;

数据库应用系统实例

淮海工学院计算机工程学院实验报告书 课程名:数据库原理及应用 题目:实验七数据库应用系统实例 班级:D计算机081 学号: 姓名:

一、实验目的 开发学生学籍管理系统小型数据库应用系统数据库连接、数据操程作序编写,熟练使用Microsoft Visual Studio 2005开发平台。 二、实验内容和要求 1.后台为SQL server2000, 2.前台为面向对象编程语言(可选择) 3.完成数据库连接 4.完成对前面实验所建立的studb109学籍数据库中的数据通过应用系统界面进行更新和查询等操作。 三、实验步骤和实验结果 1.连接SQL Server的数据库访问编程实例。编写一个应用程序来连接数据库名为studb109的SQL Sever数据库,并根据连接结果输出一些信息。 (1).运行Microsoft V isual Studio 2005 (2).新建网站

(3).设计网站 using System; using System.Collections; using System.Configuration; using System.Data; using System.Linq; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.HtmlControls; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Xml.Linq; using System.Data.SqlClient; namespace web { public partial class_Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e){} protected void Button1_Click(object sender, EventArgs e) {try {SqlConnection coon = new SqlConnection(); coon .ConnectionString =" Server =localhost; uid = sa;pwd=; database=studb109"; coon .Open (); Label1 .Text ="连接成功"; } catch { Label1 .Text ="连接失败"; }}}}

SQL 第3章 数据库的创建和管理(实训1新)

第3章数据库的创建和管理 动手操作一:查看系统数据库信息 任务1:在“资源对象管理器”中查看服务器中的系统数据库,并回答有哪些数据库。 系统数据库:master、model、msdb、tempdb 任务2:在“资源对象管理器”中查看各类数据库的属性。 任务3:在查询窗口中使用命令查看服务器中的系统数据库信息。

动手操作二:用界面方式创建数据库 任务1:在E盘以班级号创建一个文件夹。 任务2:在“资源对象管理器”中创建一个名为jxgl的数据库。 任务3:查看JXGL数据库对象和数据库文件。 任务4:在jxgl库中增加1个次文件组user1,并在其中增加一个数据文件j4_data,属性自定义。在jxgl中增加1个日志文件log2,属性自定义。

动手操作三:用命令创建数据库 任务1:创建一个默认参数的数据库db1。 任务2:查看db1数据库的信息,请说出该数据库中有哪些文件?逻辑文件名、磁盘文件名各是什么?它们的大小是多少?

有主数据文件和日志文件。逻辑文件名:主数据文件db1,日志文件db1_log。磁盘文件名:主数据文件db1.mdf, 日志文件db1_log.LDF。主数据文件:初始大小3MB,增量为1MB,不限制增长。日志文件:初始大小1MB,增量为10%,最大值为2,097,152。 任务3:按下列表格中的要求创建一个名为TESTDB的数据库。 create database TESTDB on primary (name=TD1,filename='E:\SQL\TD1.MDF', size=5MB,maxsize=20MB,filegrowth=10%), (name=TD2,filename='E:\SQL\TD2.NDF', size=10MB,maxsize=30MB,filegrowth=2MB), filegroup User1 (name=TD3,filename='E:\SQL\TD3.NDF', size=5MB,filegrowth=2MB) log on (name=TLOG,filename='E:\SQL\TLOG.LDF', size=4MB,filegrowth=20%)

实验七创建和操作数据库对象

实验报告 课程:数据库原理与实用技术实验 实验7 创建和操作数据库对象 实验7-1 存储过程 1、使用不带参数的存储过程 (1)创建一个存储过程my_proc,查询“学生表”中所有计算机系女生的学号、姓名、性别、年龄和所在院系 create proc my_proc as select学号,姓名,性别,年龄,所在院系from学生表 where所在院系='计算机'and性别='女' (2)执行存储过程 (3)修改存储过程,使其能够查询计算机系女生的所有基本信息 alter proc my_proc as select*from学生表 where所在院系='计算机'and性别='女' 2、带输入参数的存储过程 (1)创建一个存储过程my_procsex,使其能够查询“学生表”中男学生或女学生的学号、姓名、性别、年龄和所在院系 create proc my_procsex @sex char(2) as select学号,姓名,性别,年龄,所在院系from学生表where性别=@sex (2)执行存储过程 exec my_procsex @sex='男' 3、带输入/输出参数的存储过程 (1)创建一个存储过程my_procage,使其能够根据学生姓名,查询学生年龄。(考虑当学生不存在时给出提示信息) create proc my_procage @name char(10),@age int OUTPUT as if not exists(select*from学生表where姓名=@name) return-155 select年龄from学生表where姓名=@name (2)执行存储过程 declare @once_age int, @status int exec @status=my_procage @name='陈忠刚', @age=@once_age output if @status=-155 print'对不起,您输入的名字查找失败!' print'the output data is:'+convert(varchar(10),@once_age)

相关文档
最新文档