前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >C#实战:LighthouseDB轻量数据库服务介绍和案例实践

C#实战:LighthouseDB轻量数据库服务介绍和案例实践

原创
作者头像
IT技术分享社区
修改2024-04-15 08:54:22
4250
修改2024-04-15 08:54:22
举报
文章被收录于专栏:MYSQL

一、LighthouseDB介绍

LighthouseDB轻量数据库服务基于腾讯云自研的新一代云原生数据库 TDSQL-C,融合了传统数据库、云计算与新硬件技术的优势,100%兼容 MySQL,实现超百万级 QPS 的高吞吐,128TB 海量分布式智能存储,保障数据安全可靠。

二、、LighthouseDB 产品特性

● 100%兼容 MySQL:100%兼容开源数据库引擎 MySQL。

● 超高性能:单节点百万 QPS 的超高性能,满足高并发场景

● 快速恢复:计算节点实现无状态,支持本地和跨设备的秒级故障切换和恢复,支持基于快照的秒级备份和回档

● 管理简单:开箱即用,默认模板提供简化操作

● 数据高可靠:集群支持安全组和 VPC 网络隔离。自动维护数据和备份的多个副本,保障数据安全可靠,可靠性达99.9999999%。

● 超高性价比:提供固定规格套餐,共享式资源超低价格即可购买使用轻量数据库,性能远高于自建数据库

三、、选购配置介绍

产品官网:https://cloud.tencent.com/product/lighthousedb

打开产品官网,然后点击立即选购按钮。

然后进入选购界面,大家可以根据自己的需要选择适合自己的配置。

选购配置完成后,可以进入产品控制台,界面如下:

这里第一次进入可以修改数据库密码,方便后续操作。

点击左下角的登录按钮,会打开数据库管理页面,选择实例、数据库账户、密码点击登录按钮。

四、创建数据库

这时会进入数据库管理界面。我们点击库管理。

然后进入数据库管理界面。点击新建数据库按钮

弹出数据库新建界面,这里设置数据库名称、字符集、排序规则,然后点击确定按钮。

创建成功后可以看到新创建的数据库DBDemo出现在最下面的列表。

五、创建数据表

数据库创建后,我们可以新建数据表,界面如下:

然后切换到列信息标签页,添加数据表字段

创建表sql如下“:

代码语言:javascript
复制
CREATE TABLE `T_User` (
  `Id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键自增',
  `Name` varchar(20) DEFAULT '' COMMENT '姓名',
  `Age` int DEFAULT NULL COMMENT '年龄',
  `Address` varchar(100) DEFAULT '' COMMENT '住址',
  `Hobby` varchar(100) DEFAULT '' COMMENT '兴趣爱好',
  `Birthday` date DEFAULT NULL COMMENT '出生日期',
  PRIMARY KEY (`Id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8 COMMENT='用户表'

SQL预览界面

SQL变更预览界面,确认没问题,我们点击确定按钮。

创建表成功后,我们可以新增一行记录。界面如下:

点击提交按钮会进入执行预览界面,确认后点击执行数据就插入成功了。当然也可以进行数据导入的方式。

六、创建视图

这里创建一个V_User的视图,查询年龄大于30的用户。

点击提交,进入新建视图确认的弹窗,然后点击确定按钮,视图就可以创建了。

视图创建后,可以执行sql语句,查看视图的数据。

七、创建函数

创建一个简单的求和函数

界面如下:

创建函数语句如下:

代码语言:javascript
复制
CREATE DEFINER=`root`@`%` FUNCTION `func_sum`(num1 INT, num2 INT) RETURNS int
    DETERMINISTIC
    COMMENT '新建求和函数'
BEGIN
    DECLARE total INT;
    SET total = num1 + num2;
    RETURN total;
END

执行函数界面

八、开启远程访问

首先回到控制台界面,点击开启公网。

然后本地cmd 去ping域名获取公网ip

注意:数据库端口就是开启公网域名后的端口,不是默认的3306端口。

特别注意:外网访问仅用于开发或辅助管理数据库,业务访问请使用内网访问。

然后可以使用navicat进行访问

成功访问后。

九、C#集成案例测试

首先创建一个控制台程序LighthouseDBDemo ,net框架为4.7.2

然后安装第三方框架,这里主要需要mysql驱动和Dapper数据库orm框架。

打开nuget管理界面,安装mysql驱动,版本选择最新版8.0.31,

安装Dapper 框架这里也选择最新版本2.1.28,主要是用来查询和新增。

代码如下

这里主要体现了测试数据库连接、查询、新增操作,具体代码如下:

代码语言:javascript
复制
using Dapper;
using MySql.Data.MySqlClient;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace LighthouseDBDemo
{
    class Program
    {
        static void Main(string[] args)
        {
            string connectionStr = string.Format("data source={0};user id={1};password={2};database={3};port={4};pooling=false;charset=utf8;", "公网IP地址", "root", "12345678","DBDemo", "27452");
            ConnectionTest(connectionStr);
            GetSelectList(connectionStr);
            InsertDemo(connectionStr);
            Console.ReadKey();
        }

        /// <summary>
        /// 判断数据库服务器是否连接成功
        /// </summary>
        /// <param name="conStr"></param>
        /// <returns></returns>
        public static void ConnectionTest(string conStr)
        {
            try
            {
                using (MySqlConnection connection = new MySqlConnection(conStr))
                {
                    connection.Open();                 
                    connection.Close();
                    Console.WriteLine("数据库连接成功!");
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine("数据库连接失败!原因:"+ex.Message);
            }
        }

        /// <summary>
        /// 查询测试
        /// </summary>
        /// <param name="conStr"></param>
        /// <returns></returns>
        public static void GetSelectList(string conStr)
        {
            string sql = "select name from T_User ";
            try
            {
                using (MySqlConnection connection = new MySqlConnection(conStr))
                {
                    var list = connection.Query<string>(sql).ToList();
                    if (list.Any())
                    {
                        foreach (var item in list)
                        {
                            Console.WriteLine(item);
                        }
                    }
                    
                }
            }
            catch(Exception ex)
            {
                Console.WriteLine("查询失败!原因:" + ex.Message);
            }
        }

        /// <summary>
        /// 数据插入测试
        /// </summary>
        /// <param name="conStr"></param>
        public static void InsertDemo(string conStr)
        {
            string sql = "INSERT INTO `DBDemo`.`T_User` (`Name`, `Age`, `Address`, `Hobby`, `Birthday`) VALUES ('小刘', 28, '江苏徐州', '听歌', '1996-08-05') ";
            try
            {
                using (MySqlConnection connection = new MySqlConnection(conStr))
                {
                    int count = connection.Execute(sql);
                    if (count > 0)
                    {
                        Console.WriteLine("数据插入成功!");
                    }

                }
            }
            catch (Exception ex)
            {
                Console.WriteLine("查询失败!原因:" + ex.Message);
            }
        }
    }
}

然后运行项目,执行效果界面如下:

打开数据库客户端查看

测试数据是ok,这个只是一个简单的demo,大家可以根据实际需要进行调整。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、LighthouseDB介绍
  • 二、、LighthouseDB 产品特性
  • 三、、选购配置介绍
  • 四、创建数据库
  • 五、创建数据表
  • 六、创建视图
  • 七、创建函数
  • 八、开启远程访问
  • 九、C#集成案例测试
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档