一、sql server服务器操作
-
查看sql server服务器的状态
systemctl status mssql-server
-
重启sql server 服务器
systemctl restart mssql-server
-
停止
systemctl stop mssql-server
-
开启
systemctl start mssql-server
-
linux中远程连接服务器端的sql server
sqlcmd -S 192.168.*.* -U sa -P '123456'
二、数据表操作
- 将表A的id重置为从1开始(不保留表A中的内容)
truncate TABLE A;
- 将表A的id重置为从1开始(保留表A中的内容)
DBCC CHECKIDENT (A,reseed,0)
- 统计表A中所有的项目出现的次数
SELECT pro_Id as 项目ID, COUNT(*) as 次数 from A GROUP BY pro_Id ORDER BY pro_Id;
- 根据条件 “pro_Id = 1” 删除表A中的数据
DELETE FROM A WHERE pro_Id = 1;
- 向表A中插入字段 a_field
ALTER TABLE A ADD a_field INT NOT NULL DEFAULT 0;
- 更新表A字段a_field
UPDATE A SET a_field = 1 WHERE a_field = 0;
- 表A中查询a_field 不等于“1,2,3”的所有数据
SELECT * from A where a_field not in('1', '2', '3');
- 查询表A中a_field为空的所有数据
SELECT * FROM A where a_field is null;
- 根据pro_id字段,查询表A中的所有重复数据
SELECT DISTINCT pro_id FROM A;
- 根据pro_id字段,取表A和表B的差集,存在A表中不存在B表中
SELECT * FROM A WHERE NOT EXISTS (SELECT * FROM B WHERE A.pro_id = B.pro_id)
- 根据pro_id字段,取表A和表B的并集,A表和B表公有的数据
SELECT * FROM A WHERE EXISTS (SELECT * FROM B WHERE A.pro_id = B.pro_id)
- 根据pro_id字段,查询表A中出现两次以上的数据
SELECT pro_id, COUNT(1) FROM A Group By pro_id Having Count(1) > 1;
- 替换表A中,a_row列中的数据,将字段内容中的所有java替换成python
update A set a_row = replace(cast(a_row as varchar(30)),'java','python');
- 根据pro_id,a_row字段去除表A中的重复值,保留最新的一条(根据自增id,保留id最大的一条)
with m as ( select row_number() over(partition by pro_id , a_row order by id desc) rn , * from A ) delete m where rn > 1 go
- 根据a_date时间字段查询表A中2020-06-26号的数据
select * from A where a_date = CONVERT(DATETIME,'2020-06-26 00:00:00', 121)
- 根据a_date时间字段查询表A中的数据,并升序(asc)排列,倒叙(desc)
select * from A ORDER BY a_date asc;
- 更新表A中的a_date时间字段,当a_field=1时,将a_date改为2020-06-26号
update A set a_date=CONVERT(DATETIME, '2020-06-26 00:00:00', 121) WHERE a_field = 1;
- 根据a_date时间字段,查询表A中最近一周的数据(0表示当天,1代表昨天,依次类推)
select * from A where (DateDiff(dd, a_date, getdate()) between 1 and 7);
- 根据a_date时间字段,查询表A中当天的数据
select * from A where DateDiff(dd, a_date, getdate()) = 0;
- 合并A表和B表 (A、B中的字段名可以不一样,但位置一定要对应,字段属性要一样)
insert into A ("pro_id", "a_field", "a_date") select "pro_id", "b_field", "b_date" from B;