1. 程式人生 > >【12】簡單SQL語句

【12】簡單SQL語句

刪除數據 簡寫 ide lte ons color order 整理 引用

--------------------------------------------
-- SQL語句
--------------------------------------------
-- 數據定義語言(DDL)
-- 數據操作語言(DML)
-- 數據控制語言(DCL)


-- 簡單的增刪改查(CRUD)
-- 增加數據
-- insert into 表名(字段名, 字段名, ...) values(值1, 值2, ...);
insert into ConstraintExercise.StuInfo2
    (stuId, stuName, stuAge, stuSex, courseId) 
values -- (1, N‘趙曉虎‘, 30, ‘m‘, null); (1, N趙曉虎, 30, m, NULL); -- 查詢數據(簡寫) -- select 字段1, 字段2, ... from 表名; select * from ConstraintExercise.StuInfo2; insert into [ConstraintExercise].[StuInfo2] (stuId, stuName, stuAge, stuSex, courseId) values (2, 牛亮亮, 35, f, NULL); -- 修改數據 --
update 表名 set 字段=值,字段=值,... where 條件; update ConstraintExercise.StuInfo2 set stuSex=m where stuId=2; update ConstraintExercise.StuInfo2 set stuName=牛亮亮 where stuId=2; update ConstraintExercise.StuInfo2 set stuName=NNULL; update ConstraintExercise.StuInfo2 set stuName=NULL; alter table ConstraintExercise.StuInfo2
drop constraint UQ_StuInfo2_stuName; -- 刪除數據 -- delete from 表 where 條件; delete from ConstraintExercise.StuInfo2; -- 二進制截斷 insert into ConstraintExercise.StuInfo2(stuId, stuName) values(3, N0123456789); select * from ConstraintExercise.StuInfo2 -- 刪除 -- delete from 表 where 。。。 -- 刪除數據庫對象 --drop table 表 --drop database 數據庫 --drop view 視圖 --drop schema 架構 ------------------------------------------- -- 查詢 ------------------------------------------- -- 查詢的基本結構(爛熟) -- 查詢的詳細步驟(爛熟) -- 案例(舉一反三) -- 標準的SQL語句 select top | distinct 字段 , 表達式 , 函數 , 標量子查詢 , 常量 from 數據源 where 基本篩選 group by 分組字段 having 二次篩選 order by 排序字段依據; -- SQL語句的執行順序 -- -- 獲得數據源(from) -- 進行第一次篩選(where) -- 對篩選得到的結果進行分組(group by) -- 可以對分組後的結果進行再刪選一次(having) -- 對所有數據進行整理(select) -- 對結果進行排序(order by) -- 添加一個分數表 go create schema Exercise authorization dbo; go create table Exercise.ScoreTbl ( scoreId int identity(1,1) not null primary key, stuId int not null, scoreNum int check(scoreNum>=0 and scoreNum<=100), scoreLast int check(scoreLast>=0 and scoreLast<=100), -- foreign key(stuId) references Exercise.StudentTbl(stuId) ); -- 添加分數數據 2008+ insert into Exercise.ScoreTbl(stuId, scoreNum, scoreLast) values(1,60,55),(2,75,40),(3,95,85),(5,86,75),(6,90,95); insert into Exercise.ScoreTbl(stuId, scoreNum, scoreLast) values(7, 45, 99) select * from Exercise.ScoreTbl; select * , scoreNum * .3 + scoreLast * .7 from Exercise.ScoreTbl where scoreNum * .3 + scoreLast * .7 >= 60 and scoreNum < 60; -- 找姓牛的人 -- 單字符匹配 _ -- 多字符匹配 % -- stuName like ‘牛%‘ -- 引用對象的方式可以是 -- 服務器.數據庫.架構.表 select * from TestDataBase..Student; select * from TestDataBase..Course; select * from TestDataBase..Score; -- 叫紀明X select * from TestDataBase..Student where stuName like 紀明%; insert into TestDataBase..Student (stuName, stuSex, stuBirthdate, stuStudydate, stuAddress, stuEmail, stuPhone, classId) values (紀明閃閃, m, 1990-1-1 00:00:00, 2014-7-7 17:04:52.123, N上帝細節128號, [email protected], 12345678909, 2); ----------------------- -- [] [a-z] [^a-z] -- stuName like ‘楊[中重]科‘ -- 如果要匹配 asp_net -- bookName like ‘asp[_]net‘ -- stuName like ‘%虎%‘ -- age 在 19 到 26 歲 -- datediff(year, 開始的時間, 結束的時間) select datediff(YEAR, stuBirthdate, CURRENT_TIMESTAMP),* from TestDataBase..Student where stuSex = f and -- datediff(YEAR, stuBirthdate, CURRENT_TIMESTAMP) between 19 and 26; datediff(YEAR, stuBirthdate, CURRENT_TIMESTAMP) in (19,26,23) ------------------------- -- 空值處理 ------------------------- select * from ConstraintExercise.StuInfo2; select * from ConstraintExercise.StuInfo2 where stuAge <> null; -- SQL Server 采用三值邏輯 真 假 不知道 -- 判斷為空使用 is null 或 is not null 再或 not(... is null) select * from ConstraintExercise.StuInfo2 where stuAge is not null; -- isnull(字段, 數據) select *, isnull(stuAge, -1) from ConstraintExercise.StuInfo2;

【12】簡單SQL語句