目录

安装SQL server

安装SQL server 命令行工具

命令行连接SQL server

创建和查询数据


参考:https://docs.microsoft/zh-cn/sql/linux/quickstart-install-connect-ubuntu

安装SQL server

1、导入公钥

wget -qO- https://packages.microsoft/keys/microsoft.asc | sudo apt-key add -

2、注册mssqlserver Ubuntu存储库

sudo add-apt-repository "$(wget -qO- https://packages.microsoft/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/keys/microsoft.asc | sudo apt-key add -

3、注册Microsoft Ubuntu存储库

curl https://packages.microsoft/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/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

 

配置 Linux 和 SQL Server 来提高生产方案的性能、管理SQL server的跨平台工具、从windows连接Linux上的SQLserver等等教程参考官方:https://docs.microsoft/zh-cn/sql/linux/quickstart-install-connect-ubuntu?view=sql-server-2017

使用备份和还原将SQL server数据库从Windows迁移到Linux参考官方:https://docs.microsoft/zh-cn/sql/linux/sql-server-linux-migrate-restore-database?view=sql-server-2017

适用于Microsoft SQL server的链接库和框架(从各种编程语言连接数据库)参考官方:https://docs.microsoft/zh-cn/sql/linux/sql-server-linux-develop-connectivity-libraries?view=sql-server-2017

 

 

 

 

 

 

 

更多推荐

Ubuntu16.04中安装SqlServer并创建连接数据库、跨平台迁移教程链接、各种编程语言连接数据库的教程链接