1. 程式人生 > >SQL Serve 02(SQL語句操作資料)

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