docker安装sqlserver数据库

docker安装sqlserver 2017数据库

#拉取SQL Server镜像
docker pull mcr.microsoft.com/mssql/server:2017-latest

#创建SQL Server数据目录
mkdir -p /data/sqlserver/sqlserver2017

#创建一个名为sqlserver的容器,并将主机上的/data/sqlserver/sqlserver2017目录映射到容器内的/var/opt/mssql目录。此外,还将容器内的1433端口映射到主机的1433端口上。设置密码123456#Chen

docker run -e "ACCEPT_EULA=Y" \
 -e "SA_PASSWORD=123456#Chen" \
 -p 1433:1433 \
 --name sqlserver2017 \
 -v /data/sqlserver/sqlserver2017:/var/opt/mssql \
 -d mcr.microsoft.com/mssql/server:2017-latest

navicat或ssms工具登录账号和密码

sqlserver(MSSQL)
端口1433
数据库test_db
账号密码sa\123456#Chen

进入sqlserver容器
docker exec -it sqlserver2017 /bin/bash

创建一个名为test的用户并设置密码为Tianrong#1,授予该用户管理员权限。

-- 创建名为test的用户并设置密码为Tianrong#1
CREATE LOGIN test WITH PASSWORD = 'Tianrong#1';

-- 将test用户添加到sysadmin角色,以授予管理员权限
USE master;
GO
ALTER SERVER ROLE sysadmin ADD MEMBER test;
GO

sqlserver数据库插入100万条数据,增删改查相关操作

创建一个名为students的表,包含以下字段:id(主键,自增长),name(姓名),age(年龄),gender(性别)。
创建表的SQL语句如下:

   CREATE TABLE students (
    id INT PRIMARY KEY IDENTITY(1,1),
    name NVARCHAR(50) NOT NULL,
    age INT,
    gender NVARCHAR(10)
);

接下来,sqlserver数据库插入100万条数据。这里我们使用循环插入的方式,每次插入一条数据。

DECLARE @i INT = 1;
WHILE @i <= 1000000
BEGIN
    INSERT INTO students (name, age, gender)
    VALUES (CONCAT('学生', @i), FLOOR(RAND() * (60 - 18 + 1)) + 18, '男');
    SET @i = @i + 1;
END;

删除表中的数据,这里我们删除所有数据。

DELETE FROM students where id =1;

修改表中的数据,这里我们修改id为1的学生的年龄和性别。

UPDATE students
SET age = 20, gender = '女'
WHERE id = 1;

查询表中的数据,这里我们查询所有学生的信息。

SELECT * FROM students;

你可能感兴趣的:(数据库,数据库,docker,sqlserver)