mysql数据库总结-14页word资料
- 格式:doc
- 大小:54.00 KB
- 文档页数:14
一、完成的任务
1.参与系统的需求分析
在任何软件系统开始编写之前,系统需求分析都是首先需要完成的内容,这关系到软件的整体功能、结构以及方法,它是整个项目中必不可少的环节。
经过分析:按照结构功能,系统分为数据库服务器,策略机服务器,通讯机服务器。其中,数据库服务器处于中枢地位,独立的和策略机、通讯机服务器通讯。
其中数据库服务器功能有:
1.存储策略机和通信机的数据,分析数据并建表。
2.与策略机的通信,根据通信需要对数据库进行读、写、更新及删除数据的操作;
3.与通信机的通信,根据通信需要对数据库进行读、写、更新及删除数据的操作。
4.备份数据库。
2.参与数据库方案制定
根据通信策略服务的功能特点,数据库功能主要分为与策略机的通信和与通讯机的通信两个模块。
(1)与通讯机的通信模块
(2)与策略机的通信模块
3.参与数据库表的创建
根据系统结构及功能,基于冗余性等数据库表创建规则,完成数据库
表的创建。
4.参与系统程序流程图的绘制
在以上基础上,根据系统功能,分析软件结构,绘制数据库服务器软件流程图。
5.数据库服务器程序的编写与测试
编写数据库服务器整体结构程序、同步程序以及与数据库与通讯机通讯程序。
6.软件的整体打包和系统服务控制器
使用vs自带的“安装部署工具”和setupfactory打包软件,并编写服务控制器程序,修改ip与控制系统服务状态。
二、所学到的知识点
1.MySQL数据库
1) MySQL 语句:
(1)创建数据库
create DATABASE database-name
(2)删除数据库
drop database dbname
(3)创建新表
create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..)
(4)删除新表
Drop table tablename;
(5)增加一个列
Alter table tabname add column col type
(6)添加主键:Alter table tabname add primary key(col)
(7)创建索引:create [unique] index idxname on tabname(col….)
删除索引:drop index idxname
(8)创建视图:create view viewname as select statement 删除视图:drop view viewname
(9)说明:几个简单的基本的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实际应用中,select语句使用比较频繁,而且也极为复杂,有时难以处理,需要在软件上采取其他方法。
2) C#中使用MySQLDriverCS连接MySQL数据库
MySQLDriverCS是MySQL提供的一种驱动连接包,在MySQLDriverCS 安装文件夹下面找到MySQLDriver.dll,安装完成后将MySQLDriver.dll 添加引用到项目中。并时在程序命名空间中添加"using MySQLDriverCS; "即可。
值得注意的是,MySQL与数据库的连接次数不能过于频繁,即应该避免“短时间多次与数据库连接”,否则会出现exception。
(1)从数据库中读数据
ArrayList pidlist = new ArrayList();//建立链表对象
MySQLConnection mc = new MySQLConnection();
mc = new MySQLConnection(new MySQLConnectionString(“localhost”,“mysql”,
“root”,”password”).AsString);//连接数据库
try
{
mc.Open();//打开连接
MySQLCommand firstCmd = new MySQLCommand("set names gb2312", mc); //设置字符格式,防止出现中文乱码
firstCmd.ExecuteNonQuery();
string CommandText = "select NodeID,ParentID,NodeName,NodeSeries from nodeinfo";
MySQLCommand SecondCmd = new MySQLCommand(CommandText, mc);//声明一个MysqlCommand变量,该变量用于执行数据库命令
SecondCmd.ExecuteNonQuery();//执行命令,向表中添加节点信
息
MySQLDataReader msdr;//该变量用于存储从数据库中读取的值
msdr =
SecondCmd.ExecuteReaderEx();//从数据库中访问数据,将返回值赋给msdr
while (msdr.Read())
{
int id = msdr.GetInt16(0);
pidlist.Add(id);//数据1
string name=