SQL Serve 02(SQL语句操作数据)

1.SQL简介:

SQL是什么?
Structured Query Language:结构化查询语言
为何要使用SQL?
难道仅仅使用SQL Server Management Studio操作数据库?
应用程序如何与数据库打交道?
何时使用?
对SQL Server执行所有的操作都可以
程序中的增删改查
怎么使用?

2.SQL和T-SQL:

T-SQL :Transact-SQL
T-SQL是SQL的增强版
对功能进行了扩充:如变量说明、流程控制、功能函数

3.SQL的组成:

4.算术运算符:

4.1 运算符

4.2 赋值运算符
在这里插入图片描述
4.3 比较运算符
在这里插入图片描述

5.查询窗口的介绍

在这里插入图片描述

6.插入数据行语法

在这里插入图片描述

插入数据行注意事项6-1

在这里插入图片描述

插入数据行注意事项6-2

在这里插入图片描述

插入数据行注意事项6-3

在这里插入图片描述

7.使用UPDATE更新数据行

在这里插入图片描述

8.使用DELETE删除数据行

在这里插入图片描述

9.使用TRUNCATE删除数据行在这里插入图片描述

10.什么是查询

在这里插入图片描述

查询语法

在这里插入图片描述

数据查询基础2-1

在这里插入图片描述

数据查询基础2-2

在这里插入图片描述

数据查询-列别名

在这里插入图片描述

数据查询-空行、常量列

在这里插入图片描述

数据查询-限制行数

在这里插入图片描述

查询单列排序

在这里插入图片描述

查询多列排序

在这里插入图片描述

代码:

use  T217School
-- 1 基本的插入语句
-- insert   into  表名  (列名1,列名2,.......,列名N) values(值1,值2,.........,值N)
--1 列名数据类型和值的数据类型一致
--2 列名的个数和值得个数必须一致
--3 自动增长列不能够进行赋值
--4 一定要给列不为空进行赋值

--insert  into Students(SCode,SName,SAddress,SGrade,SEmail,SSex)
--values(newid(),'zs','cs',1,'[email protected]',1) 

-- 语法不要用原因:后期懵逼
--insert  into Students
--values(newid(),'ww','cs',1,'[email protected]',1) 

--insert  into  Students(SCode,SName,SAddress,SGrade,SSex)
--values(newid(),'ls','cs',1,0)

--插入默认值1 
--有默认值的情况下,不操作默认值得列等同于使用默认值 
--insert into Students(SCode,SName,SGrade,SSex)
--values(newid(),'zl',1,0)

--有默认值的列插入了新的值,则使用新值而不使用默认值
--insert into Students(SCode,SName,SAddress,SGrade,SSex)
--values(newid(),'sq','zz',1,0)

--使用关键字来使用默认值
--insert into Students(SCode,SName,SAddress,SGrade,SSex)
--values(newid(),'zsf',default,1,0)

--修改语句  一定要带上where条件的 初始化的时候 修改永远是修改一条 或者是多条 绝对不会是全部
--update  表名 set  列名1=修改值,列名2=修改值,........,列名N=修改值 where  列名=条件值
--update Students set SAddress='株洲'where SName='zs'
--update Students set SEmail='[email protected]' where SName='zs'
--update  Students set SAddress='株洲',SEmail='[email protected]' where SName='zs'
--update  Students set SAddress='株洲',SEmail='[email protected]' where SSex=0

--删除语句 
--delete from  表名 where  列名=条件值
--delete  from Students where SName='zs'
--如果你的表中存在自动增长列 那么就意味着下一次的数据开始的数字上上一次数据结束数字+增长值
--delete from Students
--用户表  admin
--delete from Students  where SName <> 'admin'
--重置清空包含自动增长列 
--truncate table stuMarks
--重置清空和删除  
--1 重置清空属于sql命令 删除属于T-sql的语句
--2 重置清空不会被记录到日志文件中,删除会记录到日志文件中,并且可以通过日志文件对删除的数据进行还原操作
--复制数据
--insert into Students(SCode,SName,SAddress,SEmail,SSex)
--select code,name,address,email,sex    from [dbo].[Student$]
--查询
--select   *   from   表名 
--1 *好代表所有的数据表中的列
--2 不要用*号,实际的开发过程中的SQL语句不要使用
--  *数据库会帮你找到表中实际上存在的列
--  会产生时间的损耗(反射)
--select   * from Students
--指定列名的查询
--select    列名1,列名2,......,列名N  from  表名
--select  scode,sname,ssex from Students
--带条件的查询
--select 列名1,列名2,......,列名N  from  表名  where 列名=条件值
select   * from Students where  SName='金蝶'
select * from Students where SName='洛飞'
--select 列名1,列名2,......,列名N  from  表名  where 列名=条件值  or 列名=条件值 
select   * from Students where  SName='金蝶'   or  SName='洛飞'
--select 列名1,列名2,......,列名N  from  表名  where 列名=条件值  and 列名=条件值 
select   * from Students where  SName='夏一桐' and    SSex=1
--查询空列值
--select 列名1,列名2,......,列名N  from  表名  where  列名  is  null
select   * from Students  where SEmail    is null
--查询不空列值
--select 列名1,列名2,......,列名N  from  表名  where  列名  is  not  null
select   * from Students  where SEmail    is  not null
--列别名,表的别名
--select 列名1 AS '列别名',列名2 AS '列别名',......,列名N AS '列别名' from  表名
select  scode  as '编号',sname as '名字' from Students
select  scode'编号',sname'名字' from Students
--=取别名(列)
--select '别名'=列名1,'别名'=列名2 ,......,'别名'=列名N from  表名
select  '编号'=scode,'名字'=sname from Students
--给指定的列进行赋值
select  scode='编号',sname='名字'from Students
--常量值
select * , '今天天气很好' AS '常量值' from Students
--固定行
--select top  阿拉伯数字 列名1,列名2,......,列名N  from  表名  
--阿拉伯数字 代表需要查询的数据的行数
select  top 10  * from Students
-- 排序     
--select 列名1,列名2,......,列名N  from  表名  where  列名  is  null    order by 排序的列
-- 默认是升序    (asc/desc) 降序   ascii码值
select   * from Students  order by SName
select   * from Students  order by SName desc

--是对查询出来的数据进行根据排序列的排序 升/降
select  * from Students where SEmail  is null   order by SName 


--select 列名1,列名2,......,列名N  from  表名  where  列名  is  null    order by 排序的列,排序的列
select   * from Students  order by SName,scode
select   * from Students  order by SName desc ,scode asc

猜你喜欢

转载自blog.csdn.net/qq_43023809/article/details/83000666