SQLServer的操作以及一些概念

初始SQLServer

创建数据库

  • create database 数据库名

创建表

  1. 选择数据库

    • USE MyDb;
  2. 创建表

    CREATE TABLE t_user
    (
        id INT,
        username VARCHAR(32),
        password VARCHAR(32),
        phone VARCHAR(11)
    )
    

使用主键约束

方式一:在定义列的同时指定主键

CREATE TABLE t_user
(
    id INT primary key,
    username VARCHAR(32),
    password VARCHAR(32),
    phone VARCHAR(11)
)

方式二:在定义完所有列之后,指定主键

CREATE TABLE t_user
(
    id INT,
    username VARCHAR(32),
    password VARCHAR(32),
    phone VARCHAR(11),
	primary key(id)
)

多字段联合主键

CREATE TABLE t_emp2
(
    name VARCHAR(32),
    deptId INT,
    salary FLOAT,
    PRIMARY KEY(name,deptId)
)

外键约束

  1. constraint 外键名 foreign key 字段名 references 主表名(主键名) ,在以后,我们统一将外部关键字叫做外键,外键就是另一张表中的主键

    CREATE TABLE t_dept
    
    (
        deptId INT PRIMARY KEY,
        name VARCHAR(22),
        location VARCHAR(50)
    );
    CREATE TABLE t_emp
    (
        id INT PRIMARY KEY,
        name VARCHAR(22),
        deptId INT,
    	CONSTRAINT fk_emp_dept1 FOREIGN KEY(deptId) REFERENCES t_dept(deptId)
    );
    

添加常用约束

唯一约束

  1. 怎么添加唯一约束;唯一约束可以确保一列或者几列不出现重复值。使用关键词 UNIQUE

    CREATE TABLE t_dept(
        id INT PRIMARY KEY,
        name VARCHAR(22) UNIQUE,
        location VARCHAR(50)
    )
    

非空约束

  1. 怎么添加非空约束; 关键词: NOT NULL 。

    CREATE TABLE t_dept(
        id INT PRIMARY KEY,
        name VARCHAR(22) NOT NULL,
        location VARCHAR(50)
    )
    

默认约束

  1. 怎么添加默认约束;默认约束:即给字段一个默认值。关键词: DEFAULT 。

    CREATE TABLE t_emp(
        id INT PRIMARY KEY,
        name VARCHAR(22),
        sex VARCHAR(2) DEFAULT '男'
    )
    

值自动增加

  1. 怎么设置字段的值自动增加。在数据库应用中,经常需要在每次插入新纪录时,系统自动生成字段的主键值,关键词:IDENTITY(1,1) 表示自动增长,初始值为 1 ,增量为 1

    CREATE TABLE t_tmp
    (
        id int PRIMARY KEY IDENTITY(1,1),
        name VARCHAR(32)
    )
    

数据的插入,删除,更改

插入

插入完整内容的行

INSERT INTO 表名 VALUES ('1000000006','Toy Land','New York',NULL)

插入选定内容的行

INSERT INTO 表名(cust_id,cust_name,cust_city) VALUES ('1000000006','Toy Land','New York')

删除

删除表中的指定行

DELETE FROM 表名 WHERE cust_id=1000000006

删除表中的所有行

DELETE FROM 表名

更改

更新表中的指定行

UPDATE 表名 SET cust_email = 'max@yahoo.com'  WHERE cust_id = '1000000005'

数据查询

基本SELECT语句

检索数据表中一个字段的内容

  • SELECT 字段名 FROM 表名

检索数据表中多个字段的内容

  • SELECT 字段名1, 字段名2, 字段名3 FROM 表名

检索数据表中所有字段的内容

  • 如果你仅仅是想要第一行的数据或者前几行的数据

  • SELECT * FROM 表名

带限制条件的查询

限制条件

image-20200610203204655

  • 你想知道这一批的书打6折后都是多少钱?你想知道字段 A 和字段 B 加起来是多少?

  • SELECT TOP 行数 字段名 FROM 表名

表达式查询

  • SELECT 包含字段名的表达式 AS 新字段名 FROM 表名

使用Where语句进行检索

检索单范围数据

表 Customers 中找到消费大于 1000 的人
SELECT cust_name, cost FROM Customers WHERE cost > 1000

检索双范围数据

表 Customers 中找到消费在 1000~3000 之间的人
SELECT cust_name, cost FROM Customers WHERE cost BETWEEN 1000 AND 3000

检索不匹配某条件的语句

表 Customers 中找到消费者不在 New York 的人
SELECT cust_name, cust_city FROM Customers WHERE cust_city <> 'New York'

通配符的使用

通配符%的使用模糊匹配数据内容的后半部分

模式匹配是大小写敏感的,% 能匹配多个字符
SELECT 字段名 FROM 表名  WHERE  字段名 LIKE '数据%'; 

通配符%的使用模糊匹配数据内容的任意部分

SELECT * FROM Customers WHERE cust_email LIKE '%yahoo%'

通配符下划线 _ , 只能匹配一个字符!

SELECT 字段名  FROM 表名 WHERE  字段名 LIKE '数据和_的组合' 

使用通配符[]模糊匹配数据内容

  • SELECT 字段名 FROM 表名 WHERE 字段名 LIKE '[数据]'
表 Customers 中,检索到所有 cust_name 以 a 和 t 开头的消费者的所有数据
SELECT * FROM Customers WHERE cust_name LIKE '[at]%'

使用通配符[]和^模糊匹配取反的数据内容

  • 对检索内容进行“取反”。使用符号 ^ 后,我们可以成功的检索到 [] 中没出现的字符
SELECT 字段名  FROM 表名  WHERE  字段名 LIKE '[^数据]' 
表 Customers 中,检索到所有 cust_name 不是以 a 和 t 开头的消费者的所有数据
SELECT * FROM Customers WHERE cust_name LIKE '[^at]%'
posted @   东血  阅读(147)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律

本站勉强运行 1780 天 21 小时 49 分 20 秒

点击右上角即可分享
微信分享提示
目录导航
目录导航
SQLServer的操作以及一些概念
初始SQLServer
创建数据库
创建表
使用主键约束
方式一:在定义列的同时指定主键
方式二:在定义完所有列之后,指定主键
多字段联合主键
外键约束
添加常用约束
唯一约束
非空约束
默认约束
值自动增加
数据的插入,删除,更改
插入
插入完整内容的行
插入选定内容的行
删除
删除表中的指定行
删除表中的所有行
更改
更新表中的指定行
数据查询
基本SELECT语句
检索数据表中一个字段的内容
检索数据表中多个字段的内容
检索数据表中所有字段的内容
带限制条件的查询
限制条件
表达式查询
使用Where语句进行检索
检索单范围数据
检索双范围数据
检索不匹配某条件的语句
通配符的使用
通配符%的使用模糊匹配数据内容的后半部分
通配符%的使用模糊匹配数据内容的任意部分
通配符下划线 _ , 只能匹配一个字符!
使用通配符[]模糊匹配数据内容
使用通配符[]和^模糊匹配取反的数据内容
发布于 2020-12-18 14:33