MAC系统下C#连接MySQL数据库

作为一个前端开发者,我们经常与数据库打交道,那么今天分享一下在Mac系统下如何用C#连接MySQL数据库,首先我们得在自己的电脑上安装一个MySQL的环境,这个请参考度娘,百度一下什么都有,当你安装好之后,可以在终端上检查一下,首先点开的系统偏好设置
屏幕快照 2018-01-25 11.34.43.png
然后点击MySQL,开启服务
屏幕快照 2018-01-25 11.36.38.png
然后打开你的终端输入
mysql -uroot -p 
然后紧接着输入你的密码就OK
屏幕快照 2018-01-25 11.38.24.png
如图所示,你的数据库就连接成功了然后我们需要创建一个新的数据库
create database 数据库名;
屏幕快照 2018-01-25 12.04.29.png
我们新建一个C#工程,但是我们的要添加Mysql.data的依赖库,下载连接https://dev.mysql.com/downloads/connector/net/1.0.html
打开工程,添加依赖
屏幕快照 2018-01-25 11.42.42.png
屏幕快照 2018-01-25 11.42.54.png

选择.Net

版本号无所谓

同时添加系统自带的System.data
那么为了方便,我们采取面向对象的形式来完成这个数据库的操作
//                   DaZhan's program
using System;
using MySql.Data.MySqlClient;
using System.Collections;
using System.Configuration;
using System.Data;

namespace MysqlDemo
{

    // 为了我们使用的方便我将此类设置为静态类
    static class MysqlTool
    {
           
        private static MySqlConnection con;
        private static MySqlCommand com;

        //1、连接数据库
        public static void ConnectMysql (string sql) {

            con = new MySqlConnection (sql);
            try {

                Console.WriteLine ("连接成功");
                com = new MySqlCommand ();
                com.Connection = con;
            } catch (Exception ex) {

                Console.WriteLine (ex);
            }
        }
        // 操作数据库(增删改)
        public static void OperatorMysql (string sql) {

            com.CommandText = sql;
            if (com.ExecuteNonQuery () > 0) {

                Console.WriteLine ("操作成功");
            }
        }
        // 读
        public static void ReadMysql (string sql) {

            com.CommandText = sql;
            MySqlDataReader read = com.ExecuteReader ();
            while (read.Read ()) {
                if (read.HasRows) {
                    Console.WriteLine (read.GetString (0) +", "+read.GetString (1));
                }
            }
        }
        //打开数据库
        public static void OpenMysql () {

            con.Open ();
        }
        //关闭数据库
        public static void CloseMysql () {

            con.Close ();
        }
    }

    class MainClass {

        public static void Main (string[] args) {

            // 连接数据库
            MysqlTool.ConnectMysql ("server=localhost;User Id=root;password=111111;Database=Student");
            MysqlTool.OpenMysql ();
            // 创建一个表
            MysqlTool.OperatorMysql ("create table if not exists student (number int,age int)");
            // 插入一个数据
            MysqlTool.OperatorMysql ("insert into student values(1,18)");
            MysqlTool.OperatorMysql ("insert into student values(2,19)");
            MysqlTool.OperatorMysql ("insert into student values(3,20)");

            // 读取数据
            MysqlTool.ReadMysql ("select * from student");
            MysqlTool.CloseMysql ();
        }
    }
}
运行结果

在终端中查看

其实对于数据库的操作我们还是要熟悉sql语句就ok了,下面是我给大家整理的一些经常会用到的语句

1、连接数据库的命令
mysql -uroot -p
2、创建数据库
create database 数据库名;
3、显示所有的数据库
show databases;
4、显示单个的数据库
show create database 数据库名;
5、选择数据库
use 数据库名;
6、查看当前数据库
select database();
7、删除数据库
drop database if exists 数据库名;

8、创建表(要先选择数据库use)
create table 表名(id int,name varchar(30),birthday date,resume text);
9、查看所有的表
show tables;
10、查看表的结构
desc 表名;
11、新增列
alter table 表名 add(age date);
12、修改某列数据类型
alter table 表名 modify name varchar(20);
13、删除某一列
alter table 表名 drop 列名;
14、修改某一列的名称
alter table 表名 change name drees char(3);
15、修改表名
rename table 旧的表名 to 新的表名;

create table classes(id int,name varchar(30),english int,chines int,math int);
注意:改名字的左边单引号
insert into classes values(1,'a',2,3,4);
insert into classes values(2,'b',5,6,7);
insert into classes values(3,'c',12,3,14);
insert into classes values(4,'d',25,26,27);

聚合函数对一组值执行计算并返回单一的值,除了count之外,聚合函数忽略空值。聚合函数经常与select语句的group by 子句 一同使用


count
16、count列名 返回某一列,行的总数
select count(列名)from 表名;
select count(列名)from 表名 where 列名>20;
select count(列名)from 表名 where 列名+列名+列名>20;



sum(只对数字起作用)
select sum(列名)from 表名;
select sum(列名)+sum(列名)as 总分 from stu;



AVG(返回值满足where条件的一列的平均值)
select avg(列名)from 表名;


MIN  MAX
select max(列名)from 表名;

Order by 排序查询结果
select name,列名from 表名 order by 列名(和前面的列名一样);

还是那句话,如有雷同,你就是抄我的!😊😊😊 --大展

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,287评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,346评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,277评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,132评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,147评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,106评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,019评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,862评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,301评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,521评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,682评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,405评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,996评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,651评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,803评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,674评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,563评论 2 352