MACOS 如何使用 MSSQL(SQL server)?

2023-11-01

一、如何启动SQL Server 2012 数据库服务,记录运行情况和处理方法

由于电脑是macOS系统的,SQLsever并不能直接在电脑上使用,所以选择在docker上建立一个SQLsever 2017 Linux容器,在容器上进行数据库的创建:

操作如下

  1. 首先打开terminal输入
sudo docker pull mcr.microsoft.com/mssql/server:2017-latest 

此步骤是从Microsoft Container Registry 中拉取SQLSever 2017 Linux容器镜像

在这里插入图片描述

  1. 等待安装完成之后使用docker运行容器镜像 输入

这里的 YourStrongPassword的意思是设置自己的密码,是字面意思不是特定操作输入

sudo docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=YourStrong@Passw0rd" \
	-p 1433:1433 --name sql1 \
	-d mcr.microsoft.com/mssql/server:2017-latest

在此处附上每个字段的含义:

在这里插入图片描述

  1. 创建完连接之后可以使用以下命令查看所下载的容器是否成功
sudo docker ps -a

在这里插入图片描述

(此处的时间间隔比较长是因为我在之前已经下载完毕)

  1. 然后开始设置SA用户名密码 此处说明如何更改密码

在terminal输入

PS:此处的mssql是我对该容器设置的名称,根据名称替换

sudo docker exec -it sql1 /opt/mssql-tools/bin/sqlcmd \
   -S localhost -U SA -P "<YourStrong!Passw0rd>" \
   -Q 'ALTER LOGIN SA WITH PASSWORD="YourNewStrong!Passw0rd"'
  1. 第四步完成之后就可以进行数据库的创建了创建数据库有两种方式
    方法一:
    直接在terminals创建,先输入
Sudo docker exec -it sql1/bin/bash

然后会跳出一行提示 ,再输入

/opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P ‘密码’

在这里插入图片描述

之后会跳一行 此时需要进行命令输入创建数据库即可

PS:输入完数据库的名称还需要输入go

此时数据库就已经创建完毕

在这里插入图片描述

PS:此种方法有一个不完美的地方就是我发现在数据库的数据输入时,中文会显示成???,这是由于系统的编码问题,一般数据库默认的Unicode是UTF-8,而macOS默认的是GB 18030,故如需改变只可以使用可视化的数据库管理系统进行编码的修改。即为第二种方案

方法二:
第二种方式就是可视化操作,需要下载软件Navicat
(SSMS没有macOS版本的,也没有必要在docker上下载容器)

首先线建立连接操作如下

端口和用户名以及密码和在下载SQLSever 2017 Linux容器时输入的一样
测试连接显示连接正常即可创建数据库

紧接着对数据库的信息进行输入,需要注意的是中文编码的问题
解决方案:排序规则更改为Chinese_PRC_CS_AI(只能在创建数据库的时候进行修改,如果创建完成了再修改会出现不知名报错,无法修改,没有其他办法)

在这里插入图片描述

在这里插入图片描述

二、用界面工具创建自己的数据库(名称自定),试着用界面工具在该数据库

中创建几个表,打开其中某个表,进行插删改操作,记录运行情况和处理方法。

(1)情况一:
在进行输入中文数据时候,刷新之后输入的中文会显示成??(比例为:两个字节一个?)

处理方法:
此种情况是由于macOS的系统默认编码不同造成的,和前文所述,将排序规则改为Chinese_PRC_CS_AI即可

(2)情况二:
数据的插入、修改和删除都可以完美运行

处理方法:
直接输入数据或删除或修改

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MACOS 如何使用 MSSQL(SQL server)? 的相关文章

  • mysql 中 INSERT 语句的计算列

    假设我想要一个表来记录其他表中的日期和列数 或者任何类型的数学 字符串连接等 CREATE TABLE log id INTEGER NOT NULL AUTO INCREMENT date DATETIME NOT NULL count
  • Wordnet sqlite 同义词和示例

    我正在尝试获取给定 wordid 的同义词和示例列表 经过大量的试验和错误 我可以获得所有同义词集的样本 但不是实际的同义词 这是我的查询 它给出了以下结果 select senses wordid senses synsetid sens
  • 通过字符串操作预防 PHP SQL 注入[重复]

    这个问题在这里已经有答案了 可能的重复 PHP 中防止 SQL 注入的最佳方法 https stackoverflow com questions 60174 best way to prevent sql injection in php
  • 如何查找所有mysql表之间的所有关系?

    如何找到MySQL所有表之间的所有关系 例如 如果我想知道大约有 100 个表的数据库中表的关系 有什么办法知道这个吗 从编程角度来说 更好的方法是从以下位置收集数据 INFORMATION SCHEMA KEY COLUMN USAGE表
  • MySQL解释更新

    作为我大学复习的一部分 我试图回答以下问题 至少在表的一个属性上创建索引 employees 数据库 您可以在其中使用 MySQL EXPLAIN 工具 清楚地显示好处 在条款或检索方面 和负面 在 更新条款 创建相关索引的信息 对于第一部
  • 法语和西班牙语的特殊字符可以保存在 varchar 中吗?

    法语和西班牙语中有普通英语中不使用的特殊字符 重音元音等 varchar 是否支持这些字符 或者我需要一个 nvarchar 吗 注 我愿意NOT希望讨论我是否应该使用 nvarchar 还是 varchar 您在谈论什么 SQL 实现 我
  • 如何在oracle中获取表作为输出参数

    我正在尝试将 Oracle 过程调用的 out 参数强制转换为对象 它不起作用 因为 据我了解 我需要定义一个映射 它告诉方法如何转换它 如果地图为空或未正确填充 则它默认为 STRUCT 类型的对象 在我的情况下这是错误的 我已经构建了一
  • VIEW for 表结合 UNION ALL 的 MySQL 性能

    假设我有 2 张桌子MySQL create table persons id bigint unsigned not null auto increment first name varchar 64 surname varchar 64
  • 无法获取 ConfigBean 中实体的正确 ID - Java EE

    我正在构建一个药房管理应用程序 每个药房都需要一名管理员 约束是这样的 public class Pharmacy implements Serializable Id GeneratedValue strategy GenerationT
  • 重用 PDO 语句 var 会使进程崩溃

    我重用一个变量来存储两个不同的 PDO mysql 语句 stmt dbh gt prepare SELECT stmt gt execute stmt dbh gt prepare UPDATE crash here Error in o
  • Chart.js - 使用 mysql 和 php 从数据库获取数据

    我正在尝试将静态数据转换为使用数据库结果 我将使用MySQL and PHP 示例代码 var randomScalingFactor function return Math round Math random 100 var lineC
  • 如何将此本机 SQL 查询转换为 HQL

    所以我有这个很长的复杂的 Native SQLQuery string hql SELECT FROM SELECT a rownum r FROM select f2 filmid f2 realisateurid f2 titre f2
  • Solr 增量导入不起作用

    我使用的是solr 4 2 请注意 完全导入有效 但增量导入却无效 增量导入不会给出任何错误 但不会获取任何更改 这是数据配置文件
  • 如何绑定值 INSERT INTO mysql perl

    我有下面的代码可以工作 但我需要知道如何绑定它们以确保安全 如果我只是将 new row 替换为 并将其放入执行中我收到错误 感谢您的帮助 foreach my field account field order new row param
  • 如何将 .txt 文件中的数据转换为 xml? C#

    我在一个文本文件中有数千行数据 我想通过将其转换为更容易搜索的内容来轻松搜索 我希望 XML 或其他类型的大型数据结构 尽管我不确定它是否是最好的对于我的想法 每行的数据如下所示 第 31 册 托马斯 乔治 32 34 154 每本书都不是
  • 当php脚本通过ajax运行时显示进度条

    我有一个通过 ajax 向服务器提交值的表单
  • mysql_query 保留返回时在表中创建的数据类型?

    我在mysql中有一个表 CREATE TABLE user id INT name VARCHAR 250 我查询表 result mysql query SELECT id name FROM user 我收集结果 while row
  • Unicode(希腊语)字符存储在数据库中,例如“??????”

    数据库中的希腊字符就像问号 我找不到解决办法 我使用 Java Swing 开发了一个应用程序 但是当我在 MySQL 中插入希腊字母时 就像问号一样 我将数据库排序规则更改为 utf8 并将列也更改为 utf8 我的项目编码设置为UTF
  • 无法将句子插入数据库

    我有一些句子 我必须选择由 6 个以上单词组成的句子 然后它们将被插入到数据库中
  • 如何获取所有mysql元组结果并转换为json

    我能够从表中获取单个数据 但是当我试图获取表上的所有数据时 我只得到一行 cnn execute sql rows cnn fetchall column t 0 for t in cnn description for row in ro

随机推荐

  • echarts里面的参数解释_echarts里 formatter的params传值问题

    题目描述 Echarts官方网站里K线图例子中 params 0 value 0 是第一个data值 但是当我把代码复制过去 params 0 value 0 就变成了data下标 而params 0 value 1 变成了第一个data值
  • 时间序列预测任务,预测值相对比真实值趋势滞后问题

    1 问题描述 我们在采用LSTM GRU等深度模型进行时间序列预测任务时 通常会采用滑动窗口策略 即将训练集和测试集划分为若干个滑动时间窗口 在每次训练迭代过程中 利用N个历史时间窗口的数据 x t N x t x t N x t xt N
  • 对java类进行初始化设置,默认设置String类型为空串““

    对java类进行初始化设置 默认设置String类型为空串 为了适应String转xml时 要求返回的空元素 填充处理空的xmlElement public void nullToStringValue Object obj try Cla
  • hive 字符串替换指定字符_字符串:替换空格

    给 代码随想录 一个星标吧 遇到对字符串或者数组做填充或删除的操作时 都要想想从后向前操作怎么样 题目 剑指Offer 05 替换空格 请实现一个函数 把字符串 s 中的每个空格替换成 20 示例 1 输入 s We are happy 输
  • 差分数组的使用

    一 问题 现在 输入一个数组 nums 然后又要求给区间 nums 2 6 全部加 1 再给 nums 3 9 全部减 3 再给 nums 0 4 全部加 2 再给 一通操作猛如虎 请问最后 nums 数组的值是什么 常规的思路很容易 你让
  • “华为杯”研究生数学建模竞赛2015年-【华为杯】B题:数据的多流形结构分析(续)

    目录 4 2 2 算法复杂度分析 4 2 3 参数影响 4 2 4 问题 3 a 求解 4 3 问题 3 b 4 3 1 加权稀疏子空间聚类
  • WEBGL入门

    1 uniform attribute和varying变量 想要将位置信息从javascript程序中传给顶点着色器 有两种方式可做到 attribute变量和uniform变量 attribute变量传输时那些与顶点相关的数据 unifo
  • js获取页面已选中的文字

    直接上代码 document selection createRange text IE9以下使用 window getSelection toString 其他浏览器使用 封装一下 function getSelectText retur
  • c++类与对象——封装

    1 封装的意义 类和对象 C 面对对象三大特性 封装 继承 多态 C 认为万事万物都皆为对象 对象上有其属性和行为 例如 人可以作为对象 属性有姓名 年龄 身高 行为有走 跑 吃饭 唱歌 车也可以作为对象 属性有轮胎 方向盘 行为有载入 放
  • charles代理设置与数据劫持

    1 安装charles 点击帮助 ssl代理 在移动设备或远程浏览器上安装charles root证书 看到如下界面 2 在手机保证和电脑连接同一个wifi的前提下 开启手机代理 输入服务器地址 192 168 5 252 端口号为 888
  • Anaconda创建虚拟环境

    题外话 对自己最近一年多的学习做一个总结 方便日后查看 也希望可以帮助到需要的人 所有内容亲测有效 win10系统下 1 win r 然后输入cmd 打开终端窗口 2 输入命令 conda env list 可以查看当前已经安装的pytho
  • Shell中的括号、方括号、花括号、双括号和双方括号使用场景总结

    前言 最近在学习Shell脚本编程时 发现别人程序的 if then代码块 中if的条件语句中存在 双括号 双中括号 的使用 因而查阅了相关资料 同时也看到了一篇不错的博文 对Shell脚本中括号的使用作出了总结 特此记录和分享 1 括号
  • 【C++】二维数组中数组名及其&、*操作

    目录 简介 场景 结语 简介 Hello 非常感谢您阅读海轰的文章 倘若文中有错误的地方 欢迎您指出 昵称 海轰 标签 程序猿 C 选手 学生 简介 因C语言结识编程 随后转入计算机专业 获得过国家奖学金 有幸在竞赛中拿过一些国奖 省奖 已
  • 使用matlab随机森林进行数据分类预测

    当使用MATLAB进行随机森林数据分类预测时 以下是一般的步骤 准备数据集 将数据集划分为特征和标签 确保数据集已经清洗并做好特征工程 拆分数据集 将数据集分为训练集和测试集 训练集用于建立随机森林模型 测试集用于评估模型性能 建立随机森林
  • 华为机试:胡杨树补种

    沙漠种植N棵胡杨树 编号1 N 一个月后有M棵未成活 现补种K棵 如何补种 只能补种 不能新种 可以得到最多连续胡杨树 int main N 总种植数量 M 未成活胡杨数量 M 个空格分隔的数 按编号从小到大 K 最多可以补种的数量 int
  • 使用timedatectl命令修改时间和时区

    使用timedatectl命令修改时间和时区 timedatectl是Linux下的一条命令 用于控制系统时间和日期 可以用来查询和更改系统时间设定 同时可以设定和修改时区信息 1 查看当前时间 日期 时区 命令 timedatectl或者
  • Chrome打印台输入就报错Uncaught EvalError: Possible side-effect in debug-evaluate

    问题 使用devtools调试console输入报错 解决方法 关闭chrome调试台中立即求值来解决 关闭此项
  • CDH安装常见问题

    为什么80 的码农都做不了架构师 gt gt gt 1 Intall Parcel 的时候 hash verification failure 首先使用命令以下命令查看其hash值 sha1sum CDH 5 12 0 1 cdh5 12
  • REW声学测试(一):麦克风校准

    更多文章请关注微信公众号 智能音箱设计 最近按照Room EQ Wizard 软件的推荐 购买了其推荐的麦克风 miniDSP UMIK 1 这款麦克风的优点在于它是一款USB麦克风 而非卡侬头麦克风 也就是说 它可以直插电脑 而不需要外接
  • MACOS 如何使用 MSSQL(SQL server)?

    文章目录 一 如何启动SQL Server 2012 数据库服务 记录运行情况和处理方法 二 用界面工具创建自己的数据库 名称自定 试着用界面工具在该数据库 一 如何启动SQL Server 2012 数据库服务 记录运行情况和处理方法 由