SQL Serve 02(SQL語句操作資料)
阿新 • • 發佈:2018-11-19
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