数据库(Database):是按照数据结构来组织、存储和管理数据的仓库。

主要作用:
1、实现数据共享
2、减少数据的冗余度  
3、实现数据独立,分类,相关联,便于集中控制。

主流数据库种类:Oracle(甲骨文公司,大型数据库),SQL(Structured Query Language(结构化查询语言)),MySql,DB2(IBM跨平台),Access。

传统数据库基本操作步骤:新建连接——连接数据库——新建命令——执行命令——断开数据库连接。例:

using System.Data.SqlClient;//注意要添加引用
 SqlConnection lo_conn = New SqlConnection("Server=服务器名字或IP;Database=数据库名字;uid=用户名;pwd=密码");//新建连接
conn.Open();  //连接数据库
string sql= "select * from Table_1";   //写SQL语句
SqlCommand lo_cmd = new SqlCommand(sql,conn);   //新建命令
cmd.ExecuteNonQuery();//执行命令
conn.close();//断开数据库连接

SQL数据库术语介绍:
ADO.NET :ADO.NET的名称起源于ADO(ActiveX Data Objects),是一个COM组件库,用于在以往的Microsoft技术中访问数据。之所以使用ADO.NET名称,是因为Microsoft希望表明,这是在NET编程环境中优先使用的数据访问接口。
数据集DataSet是ADO.NET的重要组件,可以把DataSet看成是内存中的数据库(数据源的备份)。
特性:
1、离线访问--大大减少了数据库服务器的负荷。
2、DataSet已XML形式存储数据的--便于筛选数据和管理数据。
3、独立性--独立于各种数据源。

DataAdapter对象充当DataSet和数据源之间索引和保存数据的桥梁。不同数据源有不同DataAdapter适配器,如:SQL-SqlDataAdapter,Access-OleDbDataAdapter。
两种方法:
Fill();//将数据源的数据填充到DataSet.
Update();//将DataSet的数据更新到数据源

DataReader是DataSet轻量级对象,它可以快速和低开销的读取数据源的数据,但是只进,只读,DataReader经常与SqlCommand对象的ExecuteReader()一起使用。
DataReader和DataSet比较:
1、处理数据方面:DataReader比DataSet快。
2、更新数据库:DataSet能更新到数据源,DataReader不能。 

SQL语言注意事项:
SQL语句中字符串用单引号括起来。
SQL语句大小写不敏感。
SQL set后面的中文加N
SQL分为数据定义语言DLL (crate,drop)和 数操作语言DML(insert,add...)两类。

数据库基本操作:
1.查看数据库:
show database;
2.创建数据库:
create database database_name;
3.查看某数据库中所有的数据表:
show table;
4.创建数据表:
CREATE TABLE my_table (
    name VARCHAR(20),
    sex CHAR(1), 
    birth DATE, 
    death DATE
);
5.查看数据表结构:
describe  table_name;  --缩写: desc
6.查看数据表中的记录:
select  *  from  table_name;
-- 去重复
select distinct name from table_name
7.往数据表中添加数据记录:
INSERT INTO table_name
VALUES('Tom','1','1991-03-23',NULL);
-- 指定属性
insert into user1 (name) value('Jack');
8.删除数据:
delete from table_name where name='Shcool';
9.修改数据:
update table_name set name='Tom' where sex='1';
10.建表约束--主键:
create table user(
    id int primary key,
    name varchar(20)
); 
 -- 联合主键
create table user2(
    id int,
    name varchar(20),
    password varchar(20),
    primary key(id,name) 
);
-- 后来添加主键
create table user4(
    id int,
    name varchar(20)
);
alter table user4 add primary key(id);
-- 删除主键约束
alter table user4 drop primary key;
-- 修改约束
alter table user4 modify id int primary key;

存储过程:存储过程Procedure是一组为了完成特定功能的SQL语句集合,经编译后存储在数据库中,用户通过指定存储过程的名称并给出参数来执行。存储过程中可以包含逻辑控制语句和数据操纵语句,它可以接受参数、输出参数、返回单个或多个结果集以及返回值。

优点:由于存储过程在创建时即在数据库服务器上进行了编译并存储在数据库中,所以存储过程运行要比单个的SQL语句块要快。同时由于在调用时只需用提供存储过程名和必要的参数信息,所以在一定程度上也可以减少网络流量、简单网络负担。

系统存储过程是系统创建的存储过程,目的在于能够方便的从系统表中查询信息或完成与更新数据库表相关的管理任务或其他的系统管理任务。系统存储过程主要存储在master数据库中,以“sp”下划线开头的存储过程。尽管这些系统存储过程在master数据库中,但我们在其他数据库还是可以调用系统存储过程。有一些系统存储过程会在创建新的数据库的时候被自动创建在当前数据库中。

常用系统存储过程有:

exec sp_databases; --查看数据库
exec sp_tables;        --查看表
exec sp_columns student;--查看列
exec sp_helpIndex student;--查看索引
exec sp_helpConstraint student;--约束
exec sp_stored_procedures;
exec sp_helptext 'sp_stored_procedures';--查看存储过程创建、定义语句
exec sp_rename student, stuInfo;--修改表、索引、列的名称
exec sp_renamedb myTempDB, myDB;--更改数据库名称
exec sp_defaultdb 'master', 'myDB';--更改登录名的默认数据库
exec sp_helpdb;--数据库帮助,查询数据库信息
exec sp_helpdb master;

 

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐