一、下载镜像
docker pull mcr.microsoft.com/mssql/server
二、启动容器
2.1 SQL Server
docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=你的密码" -p 1433:1433 --name sqlserver -d mcr.microsoft.com/mssql/server
//解释:
//sql server默认账号为SA,设置的密码为SA的密码
//将sql server映射到1433端口
//-e "ACCEPT_EULA=Y" 将 ACCEPT_EULA 变量设置为任意值,以确认接受最终用户许可协议。
2.2 PostgreSQL
docker run --name postgresql -e POSTGRES_PASSWORD=password -p 5432:5432 -v pgdata:/var/lib/postgresql/data -d postgres:latest
2.3 MariaDB
docker run --name mariadb -e MYSQL_ROOT_PASSWORD=password -v /data/Db/mariadb:/var/lib/mysql -p 3306:3306 -d mariadb:latest
三、查看是否运行并连接SQL Server
3.1 查看是否运行
docker ps //查看正在运行的容器
3.2 连接SQL Server
使docker exec -it 命令在运行的容器内部启动交互式 Bash Shell:
docker exec -it sqlserver "bash"
容器内部使用 sqlcmd 进行本地连接,默认情况下,sqlcmd 不在路径之中,因此需要指定完整路径。
/opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P "你的密码"
四、使用Python连接SQL Server数据库
在已经安装了python3后用pip3 install pymssql命令安装连接模块
import pymssql
# 打开数据库连接
db = pymssql.connect(server='localhost',port="1433", user='SA', password='你的密码')
# 创建游标对象,并设置返回数据的类型为字典
cursor = db.cursor(as_dict=True)
# 设置立即操作
db.autocommit(True)
# 查看现有数据库
sql = "SELECT * FROM SYSDATABASES"
cursor.execute(sql)
print("现有数据库:")
while True:
msg = cursor.fetchone()
if msg is None:
break
print(msg['name'])