博主是做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)