mssql(SQL Server) 常用语句集合

举报
Tsln 发表于 2019/01/21 09:24:08 2019/01/21
【摘要】 博主是做Java的,常用数据库也就是MySQL和mariadb,对于微软家族的产品不是很熟悉。所以就在这里整理了mssql的一些常用的语句。以备不时之需创建数据库创建数据库可以直接使用CREATE DATABASE xxx来完成,在这里不做描述。123456789101112131415161718CREATE DATABASE stuDB ON PRIMARY -- 主库( NAM...

博主是做Java的,常用数据库也就是MySQL和mariadb,对于微软家族的产品不是很熟悉。
所以就在这里整理了mssql的一些常用的语句。以备不时之需

创建数据库

创建数据库可以直接使用CREATE DATABASE xxx来完成,在这里不做描述。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
CREATE DATABASE stuDB 
ON  PRIMARY -- 主库
(
   NAME='stuDB', -- 数据库名
   FILENAME='D:\stuDB.mdf', -- 数据库文件保存位置
   SIZE=5MB, -- 数据库初始化大小
   MAXSIZE=100MB, -- 数据库最大大小
   FILEGROWTH=15% -- 数据库大小每次增长值
)
LOG ON -- 日志库
(
   -- 同上
   NAME='stuDB_log',
   FILENAME='D:\stuDB_log.ldf',
   SIZE=2MB,
   MAXSIZE=100MB,
   FILEGROWTH=1MB
)


创建表

创建表和其他数据库同样。这里不做解释

1
2
3
4
5
6
CREATE TABLE Users(
   id          INT IDENTITY(1,1)   PRIMARY KEY,
   name        VARCHAR(32)         NOT NULL,
   email       VARCHAR(128)        NOT NULL,
   password    VARCHAR(32)         NOT NULL
);


对表结构的一些修改

这里和其他数据库语法大同小异。适量参考

删除列

1
ALTER TABLE Users DROP COLUMN email;

添加列

1
ALTER TABLE Users ADD Address VARCHAR(1024);

修改列数据类型

1
ALTER TABLE Users ALTER COLUMN password VARCHAR(64);

创建约束

我们在前面创建数据库的时候其实已经创建了约束。在这里列出的语句是在创建表之后添加约束。

增加主键约束

1
## ALTER TABLE User ADD CONSTRAINT PK_User_name PRIMARY KEY(name);

增加非空约束

1
ALTER TABLE User ALTER COLUMN name VARCHAR(32) NOT NULL;

增加唯一约束

1
ALTER TABLE User ADD CONSTRAINT UQ_User_email UNIQUE(email);

性别增加默认约束,默认为’男’

1
ALTER TABLE User ADD CONSTRAINT DF_User_sex DEFAULT('男') FOR sex

增加检查约束,性别只能’男’ 或 ‘女’

1
ALTER TABLE User ADD CONSTRAINT CK_User_sex CHECK(sex='男' OR sex='女')

增加检查约束,年龄必须在0-120岁之间

1
ALTER TABLE User ADD CONSTRAINT CK_User_age CHECK(age>=0 AND age<=120)

数据CRUD

这个和其他数据库都是一样的,只贴代码,不解释

插入数据

1
2
3
4
5
6
INSERT INTO Users(name,email,password) VALUES(
   'tsln', 'tsln1998@qq.com', 'zzzzxxxxrrrr'
);
INSERT INTO Users(name,email,password) VALUES(
   'root', 'tsln1998@gmail.com', 'zzzzxxxxrrrr'
);

查询数据

1
2
3
SELECT * FROM Users;
SELECT * FROM Users WHERE 'id' = 1;
SELECT name,email FROM Users;

删除数据

1
2
DELETE FROM Users;
DELETE FROM Users WHERER 'id' = 1;

更新数据

1
UPDATE Users SET name = 'Hello Github' WHERE 'id' = 1;

统计数据

1
2
3
4
5
6
7
8
-- 统计所有记录
SELECT COUNT(*) FROM Users;
-- 统计年纪大于18岁的
SELECT COUNT(*) FROM Users WHERE 'age' > 18;
-- 统计性别,每个性别有多少人
SELECT sex,COUNT(*) FROM Users GROUP BY sex;
-- 统计年纪,每个岁数有多少人,然后按照人数大小逆序排列
SELECT age,COUNT(*) FROM Users GROUP BY age ORDER BY age DESC;


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。