SQLServer的操作以及一些概念
初始SQLServer
创建数据库
- create database 数据库名
创建表
选择数据库
- USE MyDb;
创建表
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)
)
外键约束
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)
);
添加常用约束
唯一约束
怎么添加唯一约束;唯一约束可以确保一列或者几列不出现重复值。使用关键词 UNIQUE
CREATE TABLE t_dept(
id INT PRIMARY KEY,
name VARCHAR(22) UNIQUE,
location VARCHAR(50)
)
非空约束
怎么添加非空约束; 关键词: NOT NULL 。
CREATE TABLE t_dept(
id INT PRIMARY KEY,
name VARCHAR(22) NOT NULL,
location VARCHAR(50)
)
默认约束
怎么添加默认约束;默认约束:即给字段一个默认值。关键词: DEFAULT 。
CREATE TABLE t_emp(
id INT PRIMARY KEY,
name VARCHAR(22),
sex VARCHAR(2) DEFAULT '男'
)
值自动增加
怎么设置字段的值自动增加。在数据库应用中,经常需要在每次插入新纪录时,系统自动生成字段的主键值,关键词: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 表名
带限制条件的查询
限制条件

你想知道这一批的书打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]%'
SQLServer的操作以及一些概念的更多相关文章
- 【转载】微软官方提供的Sqlserver数据库操作帮助类SQLHelper类
在.NET平台中,C#语言一般使用ADO.NET组件来操作Sqlserver数据库,通过ADO.NET组件可以实现连接数据库.查询数据集.执行SQL语句以及关闭数据库连接等操作,为此网上有很多开发者自 ...
- Sqlserver日期操作
Sqlserver日期操作 select GETDATE() as '当前日期', DateName(year,GetDate()) as '年', DateName(month,GetDate()) ...
- SQLserver数据库操作帮助类SqlHelper
1 SqlHelper源码 using System; using System.Data; using System.Xml; using System.Data.SqlClient; using ...
- (转)SQLServer分区表操作
原文地址:https://www.cnblogs.com/libingql/p/4087598.html 1. 分区表简介 分区表在逻辑上是一个表,而物理上是多个表.从用户角度来看,分区表和普通表是一 ...
- Apache Maven的入门使用之常用操作以及核心概念介绍(2)
我们接着上篇文章,来继续介绍Maven中几个核心的概念: POM (Project Object Model) Maven 插件 Maven 生命周期 Maven 依赖管理 Maven 库 POM ( ...
- SQLServer数据操作(建库、建表以及数据的增删查改)
SQLSever数据操作 一.建立数据库: create database DB ---数据库名称 ( name=data1 --文件名, ...
- C# 连接 SQLServer 及操作
随笔:连接: // 将tb_User表数据添加到DataGridView中 string sqlconn = "Data Source=localhost;Initial Catalog=d ...
- sqlserver 表操作 SQL篇
数据库知识点 1.数据库操作: 增:insert into 表名 values(值1,值2,值3) 删:delete 列名 from 表名 where 条件 改:update 表名 set =值 wh ...
- Spring第二天——IOC注解操作与AOP概念
大致内容 spring的bean管理(注解实现) AOP原理 log4j介绍 spring整合web项目的演示 一.spring注解实现bean管理 注解: 代码中一些特殊的标记,使用注解也可以完成一 ...
- SQLServer数据操作(建库、建表以及数据的增删查改)[转]
SQLSever数据操作 一.建立数据库: create database DB ---数据库名称 ( name=data1 --文件名, filename ...
随机推荐
- go新手常踩的坑
作为一个5年的phper,这两年公司和个人都在顺应技术趋势,新项目慢慢从php转向了go语言,从2021年到现在,笔者手上也先后开发了两个go项目.在学习go语言的过程中也学习并总结了一些相关的东西, ...
- kubernets之init容器作用
一 init容器的作用 1.1 init容器是在pod的生命周期,保证该pod运行的一些前置条件满足之后才开始运行这个pod,例如需要依赖一些其他的pod,服务等,可以去对这些服务的状态进行检测, ...
- 大数据之Hadoop的HDFS存储优化—异构存储(冷热数据分离)
异构存储主要解决,不同的数据,储存在不同类型的硬盘中,达到最佳性能的问题 1)存储类型 RAM_DISK:内存镜像文件系统 SSD:SSD固态硬盘 DISK:普通磁盘,在HDFS中,如果没有主动声明数 ...
- 在唯一密钥属性“name”设置为“XXX”时,无法添加类型为“add”的重复集合项
我是在调试时,更改了项目url出现的问题,没有改端口号,只是改了"/"后面的地址 这个是我是改哈端口号就好了,改了端口号就重新建立虚拟目录了. 感觉是因为端口号没变,但项目url变 ...
- .NET 基础知识 单文件部署和可执行文件 剪裁独立部署和可执行文件
单文件部署和可执行文件 https://docs.microsoft.com/zh-cn/dotnet/core/deploying/single-file 剪裁独立部署和可执行文件 http ...
- fabric compose文件解读(Orderer篇)
orderer在fabric中的作用是排序,另外orderer有点像是管理节点一样,通道之类的都是在orderer的基础之上建立的,有点像比特币,以太坊上面的全节点一样,不过责任比全节点少很多,甚至都 ...
- docker——存储配置与管理
docker存储配置与管理 查看docker info [root@hmm overlay2]# docker info Client: Docker Engine - Community Versi ...
- 《python核心编程《第二版》》笔记章节索引
本文章作为我的其它一系列关于<python核心编程<第二版>>的笔记的文章索引. 第一章:Python-快速入门:https://www.cnblogs.com/mrlayfo ...
- react类组件 组件传值
class Cmp1 extends React.Component{ render(){ return ( <div>{ this.props.name } -- 我是一个类</d ...
- INFINI Labs 产品更新 | Easysearch 新增跨集群复制 (CCR)、支持快照生命周期管理 (SLM) 功能等
INFINI Labs 产品重量级更新!!!本次更新了很多亮点功能,如 Easysearch 新增跨集群复制 (CCR).支持快照生命周期管理 (SLM) 功能等:支持多集群.跨版本的搜索基础设施统一 ...