sqlserver+pymssql

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

  1. 导入公共秘钥库

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()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值