Visual Studio || Visual Studio Code 连接 SQL Server 和 mysql
作者:mmseoamin日期:2023-12-11

使用Visua Studio链接本地SQL Server和服务器上的mysql。

软件版本:

  • Visual Studio 2022;
  • Visual Studio Code 2023;
  • SQL Server 2019
  • mysql8.0

  • 一、软件准备
  • 二、连接SQL Server
    • 2.1 使用Visual Studio 连接SQL Server
    • 2.2 使用VS Code连接SQL Server
    • 三、连接mysql
    • 四、常用sql语句
      • 4.1 常用语句
      • 4.2 代码示例

        一、软件准备

        开头写了软件版本,大家最好使用比较新的release版本。最低不要低于2019嘛,都2023年了,那些古老的软件版本可能不支持一些新特性,或者出现版本不匹配问题,而且使用插件来弥补版本落后问题往往很麻烦。

        这些软件最大的也就几个G,最多10分钟就安装好了,而且有没有什么学习成本。工欲善其事,必先利其器,马上卸载你的古老IDE!!(除非你的公司有版本要求)

        数据库:

        1. 直接官网下载SQL Server 的软件安装就好了;
        2. sqlserver我是在服务器安装的,就不多说了。
        3. 下载好了之后,自己新建数据库和表,或者导入数据什么的,我的这个专栏也有一些入门文章,可以看看。

        Visual Studio:

        官网下载安装就可以。

        安装的时候要选择工作负荷,就是你要用它开发什么,安装相关的依赖之类的。按你的要求选择就可以了,如果要连接数据库,把下面这个数据存储和处理选上:

        在这里插入图片描述

        没安装也没关系,安装完了之后,也可以继续安装你需要的工作负荷,使用这个Visual Studio installer安装就行了。

        在这里插入图片描述

        VS Code:

        软件只有几百MB,vscode是个编辑器,通过安装各种插件来完成一些开发工作,他对插件的支持是极好的,因为它使用了Electron框架,这意味着通过VS Code构建的应用程序在更新它们时是精简和无缝的。此外,VS Code比Visual Studio快得多,不过在具体的领域上专业性肯定不如Visual Studio这些IDE。

        安装完成后再安装SQL Server和mysql的插件就行了,以mysql为例(很多都是Visual Studio不支持的):

        在这里插入图片描述

        二、连接SQL Server

        2.1 使用Visual Studio 连接SQL Server

        首先确保你正确安装了SQL Server 软件并建立和数据库,这没什么好说的,比如:

        在这里插入图片描述

        接着在Visual Studio中新建数据库项目:

        在这里插入图片描述

        进去之后连接SQL Server,在工具选项下点击连接到数据库,选择SQL Server,然后选择相关数据库。

        在这里插入图片描述

        连接上:

        在这里插入图片描述

        点击视图,SQL Server对象资源管理器:

        在这里插入图片描述

        现在就可以进行相关操作了,在要操作的数据库上,右键,新建查询,编写sql语句,比如:

        在这里插入图片描述

        2.2 使用VS Code连接SQL Server

        安装mssql插件:

        在这里插入图片描述

        安装之后,左边的侧边栏会出现相应的图标,点开,然后点击新建连接,输入SQL Server 的服务器名称,用户名,密码就可以连接了。

        这里不能用Windows身份验证了,如果你忘记了密码,可以在SQL Server软件里面先使用Windows身份验证连接到服务器,然后再安全性下面,重置登录名sa的密码。

        在这里插入图片描述

        现在你应该就可以连接上了:

        在这里插入图片描述

        三、连接mysql

        mysql我是安装在云服务器上的,作为我网站的数据库。远程连接要注意几点:

        1. 端口放行,mysql默认端口号3306,自己防火墙放行一下这个端口;
        2. 访问权限,mysql可能默认只允许本地服务器访问,你可以设置为允许所有人,或者指定ip。

        Visual Studio中就不演示了吧,插件都是试用的。

        这里展示在命令行和VS Code中链接。

        (1)命令行

        确保本地电脑安装了mysql,并添加环境变量(就是bin目录)。

        连接格式:

        mysql -h ip地址  -u 用户名 -p
        

        回车输入密码即可:

        在这里插入图片描述

        (2) vs code

        一样的安装mysql插件,然后连接就行了:

        在这里插入图片描述

        (3) python 连接mysql

        代码示例,打印数据库的所有表名:

        import pymysql
        # 连接数据库
        conn = pymysql.connect(
            host='x.x.x.x', # 连接名称,默认127.0.0.1
            user='root', # 用户名
            passwd='xxxxxx', # 密码
            port=3306, # 端口,默认为3306
            db='database_name', # 数据库名称
            charset='utf8' # 字符编码
        )
        # 获取游标
        cursor = conn.cursor()
        # 执行SQL语句
        cursor.execute('SHOW TABLES')
        # 获取查询结果
        tables = cursor.fetchall()
        # 打印表名
        for table in tables:
            print(table[0])
        # 关闭连接
        conn.close()
        

        在这里插入图片描述

        四、常用sql语句

        4.1 常用语句

        以下是一些常用的SQL语句:

        1. SELECT:用于从数据库表中检索数据。

        2. INSERT INTO:用于将数据插入到数据库表中。

        3. UPDATE:用于更新数据库表中的数据。

        4. DELETE FROM:用于从数据库表中删除数据。

        5. CREATE DATABASE:用于创建新的数据库。

        6. CREATE TABLE:用于创建新的数据表。

        7. ALTER TABLE:用于修改数据表的结构,如添加列、删除列、修改列数据类型等。

        8. DROP DATABASE:用于删除数据库。

        9. DROP TABLE:用于删除数据表。

        10. SELECT DISTINCT:用于检索唯一值。

        11. WHERE:用于根据条件筛选数据。

        12. ORDER BY:用于对结果集进行排序。

        13. GROUP BY:用于按照指定列对结果集进行分组。

        14. JOIN:用于将多个表连接在一起进行查询。

        15. UNION:用于合并两个或多个SELECT语句的结果集。

        16. HAVING:用于在GROUP BY语句中设置条件筛选。

        4.2 代码示例

        以下是一些常见SQL语句的详细示例:

        1. SELECT语句示例:

          SELECT * FROM customers;
          

          此示例从名为"customers"的数据表中检索所有列的所有行。

        2. INSERT INTO语句示例:

          INSERT INTO customers (name, email) VALUES ('John Doe', 'johndoe@example.com');
          

          此示例将一条新记录插入到名为"customers"的数据表中,包括"name"和"email"列的值。

        3. UPDATE语句示例:

          UPDATE products SET price = 29.99 WHERE id = 1;
          

          此示例将名为"products"的数据表中id为1的记录的"price"列更新为29.99。

        4. DELETE FROM语句示例:

          DELETE FROM customers WHERE id = 3;
          

          此示例从名为"customers"的数据表中删除id为3的记录。

        5. CREATE DATABASE语句示例:

          CREATE DATABASE mydatabase;
          

          此示例创建一个名为"mydatabase"的新数据库。

        6. CREATE TABLE语句示例:

          CREATE TABLE employees (
              id INT PRIMARY KEY,
              name VARCHAR(50),
              age INT,
              salary DECIMAL(10, 2)
          );
          

          此示例创建一个名为"employees"的新数据表,并定义了"id"、“name”、"age"和"salary"列。

        7. ALTER TABLE语句示例:

          ALTER TABLE customers ADD COLUMN phone VARCHAR(15);
          

          此示例在名为"customers"的数据表中添加一个名为"phone"的新列。

        8. DROP DATABASE语句示例:

          DROP DATABASE mydatabase;
          

          此示例删除名为"mydatabase"的数据库及其相关的所有表和数据。

        9. DROP TABLE语句示例:

          DROP TABLE customers;
          

          此示例删除名为"customers"的数据表及其相关的数据。

        10. SELECT DISTINCT语句示例:

          SELECT DISTINCT category FROM products;
          

          此示例从名为"products"的数据表中检索唯一的"category"列值。

        11. WHERE语句示例:

          SELECT * FROM orders WHERE total_amount > 1000;
          

          此示例从名为"orders"的数据表中检索总金额大于1000的所有行。

        12. ORDER BY语句示例:

          SELECT * FROM products ORDER BY price DESC;
          

          此示例从名为"products"的数据表中检索所有行,并按照"price"列降序排序结果。

        13. GROUP BY语句示例:

          SELECT category, COUNT(*) FROM products GROUP BY category;
          

          此示例从名为"products"的数据表中按照"category"列分组,并计算每个分类下的行数。

        14. JOIN语句示例:

          SELECT customers.name, orders.order_date
          FROM customers
          JOIN orders ON customers.id = orders.customer_id;
          

          此示例通过在"customers"和"orders"表之间进行连接,检索客户姓名和订单日期。

        15. UNION语句示例:

          SELECT name, email FROM customers
          UNION
          SELECT name, email FROM suppliers;
          

          此示例合并"customers"表和"suppliers"表的姓名和电子邮件列的结果集。

        16. HAVING语句示例:

          SELECT category, AVG(price) as avg_price
          FROM products
          GROUP BY category
          HAVING AVG(price) > 50;
          

          此示例从"products"表中按照"category"列分组,并筛选出平均价格大于50的结果。

        这些示例涵盖了SQL中一些常用的语句和功能。请注意,具体的语句和查询将根据你的数据模型和需求而有所不同。可以根据实际情况调整和扩展这些示例。


        ~