SQL server 基本增删改查(带练习示例)

2023-11-18

目录

建表sql语句(需要自己插数据)

一,增加数据

1,插入单条数据

2,插入多条数据

二,修改数据

1,修改单列

修改刘德华的密码为123456

2,修改多列

修改小红的性别为女,年龄为30

三,删除数据

1,删除用户编号为3的用户信息

2,删除用户表中的所有数据

3,删除用户的表结构

四,查询数据

1,查询所有

查询所有用户

2,查询列

查看用户表中所有用户的用户名及密码

3,查询并起别名

查看用户表中所有用户的用户名及密码并起别名

4,where条件查询

在登记表中查所有住在101的客户

在客房表中查找所有的空房间(where后面使用and连接)

查询刘德华的密码

5,排序查询(order by)

客房表按入住次数排降序

客房表按入住次数排升序

登记表中按房间号升序和入住时间降序

6,模糊查询(like) 

查询姓张的用户(第一位为张)

查询姓名中有‘来’字的用户

查询姓名中第二字为‘来’的用户( 使用 _ 占位符)

7.范围查询(=,!=,>,>=,<,<=,between  and)

查询年龄大于28岁的用户

查询年龄等于28岁的用户

查询年龄在38到50岁之间的用户姓名

8,按条件查询显示前或后几条数据

客户表按入住次数排降序,但只显示前三甲

客户表按入住次数排升序,但只显示前三甲

9,空值查询(is null / is not null)

查询所有姓名为空的客户信息

查询所有姓名不为空的客户信息


建表sql语句(需要自己插数据)

create table tb_users(
 uid int primary key identity(1,1),
 uname varchar(20) not null,
 upwd varchar(16) default('888888') not null,
 usex varchar(2) default('男') not null,
 uage int check(uage>=0 and uage<=150) not null,
 usf varchar(20) not null
 )

 create table tb_type(
 tid int primary key identity(1,1),
 tname varchar(20) not null,
 tmeu varchar(20) null
 )

 create table tb_kefang(
 fid int primary key identity(1,1),
 tid int foreign key references tb_type(tid) not null,
 fprice int not null,
 fkzrs int not null,
 fyzrs int default(0) not null,
 fcnt int default(0) not null,
 fmenu varchar(100) not null
 )

create table tb_dengji(
 did int primary key,
 dname varchar(20) not null,
 dfid int foreign key references tb_kefang(fid) not null,
 dsfz varchar(18) not null,
 dyj float not null,
 dtf date null
 )

一,增加数据

1,插入单条数据

 语法:insert into 表名 values(列对应的值)

insert into tb_users values('张三','123','男',18 ,'学生')

2,插入多条数据

语法:insert into 表名 
          select 列对应的值 union
          select 列对应的值 union
          select 列对应的值

insert into  tb_users
select '李四','123','女',20,'管理员' union
select '王五','123','男',28,'超级管理员' union
select '马六','123','男',44,'保洁'union
select '小红','123','男',24,'前台'union
select '小黄','123','男',38,'管理员'

二,修改数据

 语法:update 表名 set 列名=修改后的值 where 条件

1,修改单列

修改刘德华的密码为123456

update tb_users set upwd='123456' where uname='刘德华'

2,修改多列

修改小红的性别为女,年龄为30

update tb_users set usex='女',uage=30 where uname='小红'

注意:修改时后面不带where条件会将整列数据全部修改!!!

三,删除数据

语法:delete  from 表名 where 条件

1,删除用户编号为3的用户信息

delete from tb_users where uid=3

2,删除用户表中的所有数据

有主外键关系,要先删除从表数据才能删除主表数据

delete from tb_users

3,删除用户的表结构

有主外键关系,要先删除从表才能删除主表

drop table tb_users

四,查询数据

1,查询所有

语法:select * from 表名 ( * 代表所有字段 )

查询所有用户

select * from tb_users

2,查询列

语法:select 列字段名 from 表名 

查看用户表中所有用户的用户名及密码

select uname,upwd from tb_users

3,查询并起别名

语法:select 列字段名 别名 from 表名(用空格起别名)

          select 列字段名=别名 from 表名(用=起别名)

          select 列字段名as别名 from 表名(用as起别名)

查看用户表中所有用户的用户名及密码并起别名

select uname 用户名,upwd 密码 from tb_users
select uname=用户名,upwd=密码 from tb_users
select unameas用户名,upwdas密码 from tb_users

4,where条件查询

语法:select 列字段名 from 表名 where 条件句

在登记表中查所有住在101的客户

select * from tb_dengji where dfid=101

在客房表中查找所有的空房间(where后面使用and连接)

select fid from tb_kefang where fkzrs!=0 and fyzrs=0

查询刘德华的密码

select upwd from tb_users where uname='刘德华'

5,排序查询(order by)

语法:select 列字段名 from 表名 where 条件句 order by 字段名 asc/desc(数据库默认为升序)

客房表按入住次数排降序

select * from tb_kefang order by fcnt desc

客房表按入住次数排升序

数据库默认为升序,order by 列字段名 asc 可省略不写

select * from tb_kefang order by fcnt asc
select * from tb_kefang 

登记表中按房间号升序和入住时间降序

必须使用逗号连接,不能用and连接

select * from tb_dengji order by dfid asc,drz desc

6,模糊查询(like) 

语法:select 列字段名 from 表名 where 字段名 like 条件

查询姓张的用户(第一位为张)

select * from tb_users where uname like '张%'
select * from tb_users where left(uname,1)='张'(取左边第一位为张)

查询姓名中有‘来’字的用户

select * from tb_users where uname like '%来%'

查询姓名中第二字为‘来’的用户( 使用 _ 占位符)

select * from tb_users where uname like '_来%'

7.范围查询(=,!=,>,>=,<,<=,between  and)

语法:select 列字段名 from 表名 where 字段名 条件

查询年龄大于28岁的用户

select * from tb_users where uage>28

查询年龄等于28岁的用户

select * from tb_users where uage=28

查询年龄在38到50岁之间的用户姓名

select uname from tb_users where uage>=38 and uage<=50
select uname from tb_users where uage between 38 and 50

8,按条件查询显示前或后几条数据

语法:select top 要显示的数据条数 * from 表名 where  条件 order by asc/desc

客户表按入住次数排降序,但只显示前三甲

select top 3 * from tb_kefang order by fcnt desc

客户表按入住次数排升序,但只显示前三甲

select top 3 * from tb_kefang order by fcnt asc
select top 3 * from tb_kefang 

9,空值查询(is null / is not null)

语法:语法:select * from 表名 where  列字段 is null / is not null

查询所有姓名为空的客户信息

select * from tb_users where uname is null

查询所有姓名不为空的客户信息

select * from tb_users where uname is not null
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SQL server 基本增删改查(带练习示例) 的相关文章

随机推荐

  • 华为od机试题9 真题

    华为od机试题 真题 9 寻找重复字符 7 字符串翻转 6 小朋友身高排序 5 CPU最少执行时间 4 猴子爬山 3 输出信元的值 2 指定元素对最小和 1 勾股数元组 以下题目附带Java解法 是我个人写的 不一定是标准答案 没有真正的测
  • 对JS中global、window、document、this区别的理解

    本文章综合了很多地方对global和widow区别的解释 我加以挑选再结合我自己的理解以及遇到的问题写出来的 可能比较乱 但是全部看完或许对global和window对象的理解还是有帮助的 一个关于window和global区别的链接 可以
  • 12-Linux下Oracle 11g R2数据库安装

    Oracle 11g R2数据库安装 安装环境准备 需要先装centos系统 并更新组件 安装请参考centos6 5安装手册 用户一览 用户 所在组 权限 Root root 超级用户 Oracle oinstall dba 安装地址 组
  • 【windows核心编程】第二章-笔记

    一个字节8位 最多表示256个字符 UTF 16 将每个字符编码为2个字节 即Unicode windows使用 utf 16 支持代理 代理使用32位来表示一个字符 UTF 8 将一些字符编码为1个字节 一些字符编码为2个字符 一些字符编
  • IDEA 集成VisualVM Launcher JDK 监控程序插件

    IDEA 安装VisualVM Launcher 插件 1 打开setting 找到Plugins选项 安装VisualVM Launcher 插件 如果有就跳过这一步 检索 VisualVM Launcher 安装成功后 重新启动IDEA
  • 感知机与支持向量机

    感知机 追求最大程度正确划分 最小化错误 容易造成过拟合 SVM 追求大致正确分类的同时 最大化分类间隔 一定程度上避免过拟合 1 普通感知机不能产生最大间隔 而SVM可以 2 带margin的感知机可以通过两种手段实现 早停 加正则化项
  • shell 脚本关键字&符号

    shell概念 shell 既是一种解释型编程语言 也是一个这种编程语言的解释器的名字 shell是解释型语言 就是解释器会一条一条的翻译每一条语句并执行 对比之下 C语言是编译型语言 编译器把整个工程编译成可执行文件才能执行 在没有续行符
  • win10下Linux子系统(ubuntu)开启并配置(shell主题,设置中文环境,图形界面...)

    创作不易 如果以下内容对你有帮助 别忘了点一个赞 让更多的小伙伴能看到吧 一 开启win10子系统 Windows Subsystem for Linux WSL 1 启动开发者模式 设置 gt 更新和安全 gt 开发者选项 gt 开发人员
  • 自动化测试框架Testng相关

    1 Testng简介 Testng是一套开源测试框架 是从Junit继承而来 testng意为test next generation 2 Testng介绍 适合测试的原因 比Junit涵盖功能更全面的测试框架 Junit更适合隔离性比较强
  • VS2017打开自身项目提示项目不兼容问题解决

    几天前用VS2017建的控制台程序 今天打开弹出对话框 提示版本不兼容 这我就很纳闷 VS2010的项目你打不开就算了 怎么自己的也提示版本不兼容 这重新创建一个再导入太麻烦了 在试了多次无果 而且百度到的都牛头不对马嘴 用NOTEPAD
  • PLSQL Developer的详细安装步骤

    1 下载地址http www allroundautomations com 下载下来 得到 2 解压到当前文件夹 3 双击plsqldev1105 x64 exe 安装PLSQL Developer 开发工具 点击plsqlev1105
  • uboot分析之第一阶段

    1 初始化 关看门狗 初始化时钟 初始化SDRAM 2 把程序从Nand flash 拷贝到 SDAM 3 设置SP sp指向某块内存 因为要调用c函数 就要使用栈 4 c函数就是读出内核 启动内核 1 起始位置 2 跳转到reset 3
  • 2020年高教社建模国赛真题A题--炉温曲线

    2020年高教社杯全国大学生数学建模竞赛题目 请先阅读 全国大学生数学建模竞赛论文格式规范 A题 炉温曲线 在集成电路板等电子产品生产中 需要将安装有各种电子元件的印刷电路板放置在回焊炉中 通过加热 将电子元件自动焊接到电路板上 在这个生产
  • StandardScaler类中transform和fit_transform

    StandardScaler类中transform和fit transform方法里 fit transform X train 找出X train的均值和 标准差 并应用在X train上 对于X test 直接使用transform方法
  • 机器学习常用十大算法

    基本的机器学习算法 线性回归算法 Linear Regression 逻辑回归算法 Logistic Regression 朴素贝叶斯算法 Naive Bayes 最近邻居 k 近邻算法 K Nearest Neighbors KNN 支持
  • 中路对线发现正在攻防演练中投毒的红队大佬

    背景 2023年8月14日晚 墨菲安全实验室发布 首起针对国内金融企业的开源组件投毒攻击事件 NPM投毒事件分析文章 紧接着我们在8月17日监控到一个新的npm投毒组件包 hreport preview 该投毒组件用来下载木马文件的域名地址
  • 信息收集 (一)Google Hack & robots文件

    一 Google Hack 在渗透测试中 信息收集是尤为重要的一部分 甚至可以占到整个渗透的百分之六十至七十 可见掌握好信息收集的方法十分重要 那GoogleHacking作为常用且方便的信息收集搜索引擎工具 它是利用谷歌搜索强大 可以搜出
  • nvm的安装

    当项目启动时npm i报错时 提示版本问题时 是因为项目中使用node版本过低而本地node版本太高时 需要切换低版本node 此时需要安装nvm node版本控制器 来进行版本切换 1 首先必须卸载本地node js 在我的电脑搜索nod
  • Dubbo 接口异常处理逻辑

    API 接口中抛出的异常类型 有一系列的规则 代码在 ExceptionFilter 的 onResponse 中 1 如果是受检异常 非Runtime 就直接抛出 这是因为如果是受检异常 接口定义的 throws 中需要涵盖 调用端需要捕
  • SQL server 基本增删改查(带练习示例)

    目录 建表sql语句 需要自己插数据 一 增加数据 1 插入单条数据 2 插入多条数据 二 修改数据 1 修改单列 修改刘德华的密码为123456 2 修改多列 修改小红的性别为女 年龄为30 三 删除数据 1 删除用户编号为3的用户信息