sqlserver+pymssql

    xiaoxiao2025-04-17  21

    sqlserver 案例1 https://www.cnblogs.com/jinanxiaolaohu/p/8296603.html

    导入公共秘钥库

    wget -qO- https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add - 2. 注册存储库

    add-apt-repository “$(wget -qO- https://packages.microsoft.com/config/ubuntu/16.04/mssql-server-2017.list)” 3. 安装SQLSERVER

    apt-get update apt-get install -y mssql-server 4. 安装过程中提示升级 需要执行命令:

    apt-get -f install 5. 安装配置sqlserver

    sudo /opt/mssql/bin/mssql-conf setup 选择安装的版本, 然后输入sa密码即可

    6.修改排序规则

    首先关闭sqlserver 执行命令

    systemctl stop mssql-server 执行更改排序规则的命令

    sudo /opt/mssql/bin/mssql-conf set-collation 输入应用服务器支持的排序规则

    Chinese_PRC_CI_AS 重新启动并且置为开机启动的服务

    systemctl enable mssql-server && systemctl start mssql-server 7.应用服务器连接测试. sqlserver 案例2* https://blog.csdn.net/li528405176/article/details/83414061 安装SQL server 1、导入公钥

    wget -qO- https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add - 2、注册mssqlserver Ubuntu存储库

    sudo add-apt-repository “$(wget -qO- https://packages.microsoft.com/config/ubuntu/16.04/mssql-server-2017.list)” 3、安装

    sudo apt-get update sudo apt-get install -y -f mssql-server 4、配置(根据提示进行配置,包括选择版本(express、developer等)、接受许可协议、选择语言、设置sa(系统管理员)密码。密码需要包含大写字母、小写字母、数字、符号中的三种)

    sudo /opt/mssql/bin/mssql-conf setup 5、验证服务是否运行

    systemctl status mssql-server 6、如果打算远程连接,还需要确保打开防火墙的SQL server TCP端口(默认值为1433)。默认情况下Ubuntu防火墙是关闭状态,因此没必要运行以下命令,使用sudo ufw status可以查看其状态。

    sudo ufw allow 1433/tcp sudo ufw reload 但是如果有其他防火墙工具,则需要执行以下命令设置防火墙开启SQL server服务端口:

    firewall-cmd --zone=public --add-port=1433/tcp --permanent firewall-cmd --reload

    安装SQL server 命令行工具 若要创建数据库,需要使用一个能够在 SQL Server 上运行 Transact-SQL 语句的工具进行连接。通过以下步骤安装 SQL Server 命令行工具: sqlcmd和bcp。

    1、安装curl软件包

    sudo apt-get install curl 2、导入公钥

    curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add - 3、注册Microsoft Ubuntu存储库

    curl https://packages.microsoft.com/config/ubuntu/16.04/prod.list | sudo tee /etc/apt/sources.list.d/msprod.list 4、更新源列表,并使用unixODBC开发人员包运行安装命令

    sudo apt-get update sudo apt-get install mssql-tools unixodbc-dev 如果要更新到最新版mssql工具,运行以下命令:

    sudo apt-get update sudo apt-get install mssql-tools 5、为mssql-tools设置环境变量

    若要使sqlcmd/bcp可从登录会话的 bash shell 访问修改你路径中的 ~/.bash_profile文件则使用以下命令:

    echo ‘export PATH="$PATH:/opt/mssql-tools/bin"’ >> ~/.bash_profile 若要使sqlcmd/bcp能从交互式/非登录会话的bash shell 访问修改路径中的 ~/.bashrc文件使用以下命令:

    echo ‘export PATH="$PATH:/opt/mssql-tools/bin"’ >> ~/.bashrc source ~/.bashrc OK,至此全部安装完毕。

    当然我们也可以使用脚本来自动化安装。适用于Ubuntu,无人参与的SQL server安装脚本:https://docs.microsoft.com/zh-cn/sql/linux/sample-unattended-install-ubuntu?view=sql-server-2017

    命令行连接SQL server 使用 sqlcmd 本地连接到新的 SQL Server 实例

    1、使用 SQL Server 名称 (-S),用户名 (-U) 和密码 (-P) 的参数运行 sqlcmd。

    本地连接,因此服务器名称为 localhost ,用户名为 SA ,密码即安装过程中设置的密码。如果要进行远程连接,指定 -S 参数为远程计算机名称或 IP 地址,并确保防火墙上的端口 1433 已打开即可。

    sqlcmd -S localhost -U SA -P ‘YourPassword’ 2、如果成功,应会显示 sqlcmd 命令提示符:1> 。

    创建和查询数据 新建数据库

    注意,SQL语句中关键词不区分大小写,但是最好写成大写字母。因为我们写好的SQL语句在执行的时候是先转化为大写字母之后执行的,如果写成了小写会影响执行效率。

    1、使用Transact-SQL 命令创建一个测试数据库

    CREATE DATABASE TestDB 2、编写一个查询语句,查看服务器上所有数据库的名称

    SELECT Name from sys.Databases 3、前两个命令没有立即执行,必须在新行中输入 GO 命令才能执行前面的语句

    GO 插入数据

    1、在 sqlcmd 命令提示符中,将上下文切换到新的 TestDB 数据库:

    USE TestDB 2、创建名为 Inventory 的新表:

    CREATE TABLE Inventory (id INT, name NVARCHAR(50), quantity INT) 3、将数据插入新表:

    INSERT INTO Inventory VALUES (1, ‘banana’, 150); INSERT INTO Inventory VALUES (2, ‘orange’, 154); 4、执行

    GO 选择数据

    运行查询从 Inventory 表查看数据。

    1、通过 sqlcmd 命令提示符输入查询,以返回 Inventory 表中数量大于 152 的行:

    SELECT * FROM Inventory WHERE quantity > 152; 2、执行

    GO 退出 sqlcmd 命令提示符

    QUIT

    https://www.cnblogs.com/hao-1234-1234/p/6181503.html

    -- coding:utf-8 --

    import pymssql

    server 数据库服务器名称或IP

    user 用户名

    password 密码

    database 数据库名称

    conn = pymssql.connect(‘127.0.0.1’, ‘sa’, ‘Zjk521521’, ‘TestDB’)

    cursor = conn.cursor()

    新建、插入操作

    cursor.execute("""

    IF OBJECT_ID(‘persons’, ‘U’) IS NOT NULL

    DROP TABLE persons

    CREATE TABLE persons (

    id INT NOT NULL,

    name VARCHAR(100),

    salesrep VARCHAR(100),

    PRIMARY KEY(id)

    )

    “”")

    cursor.execute(“INSERT INTO Employees VALUES ( ‘banana’, 1); INSERT INTO Employees VALUES (‘orange’, 2);”) #cursor.execute(“GO”)

    cursor.executemany(

    “INSERT INTO persons VALUES (%d, %s, %s)”,

    [(1, ‘John Smith’, ‘John Doe’),

    (2, ‘Jane Doe’, ‘Joe Dog’),

    (3, ‘Mike T.’, ‘Sarah H.’)])

    如果没有指定autocommit属性为True的话就需要调用commit()方法

    conn.commit()

    查询操作

    cursor.execute(‘SELECT * FROM persons WHERE salesrep=%s’, ‘John Doe’)

    row = cursor.fetchone()

    while row:

    print(“ID=%d, Name=%s” % (row[0], row[1]))

    row = cursor.fetchone()

    也可以使用for循环来迭代查询结果

    for row in cursor:

    print(“ID=%d, Name=%s” % (row[0], row[1]))

    关闭连接

    conn.close()

    最新回复(0)