sql server 的T-SQL 學習筆記(三)

-- ************  條件表達式  邏輯表達式***********************
-- CRUD 操作(DML)
-- create 操作 DEL
-- 表達式: 表達式是指運算符將同類型的數據(常量、變量、函數等)按照一定的規則連接起來,具有特定意義的語句。
    -- 條件表達式 1+1 > 2 (false)  -- 用了運算符
    -- 邏輯表達式 且 或 非   true and false (false)
    -- 這兩種表達式只能返回true or false
      -- 常量 
      -- 變量 
      -- 字段名 (數據表列名)
      -- 函數(自定義函數或SQL server函數)
        -- 函數:完成特定功能的代碼段 eg:getdate()
    -- 運算符 
      -- 一元運算符 (eg -1)
      -- 二元運算符 (eg 1+1)
      -- 條件運算符 (= > < >= <= <> != )
      -- 邏輯運算符 
        -- (and 連接兩個表達式 eg: age=20 and country = 'chain')
        -- (or 或者 eg:check(sex='男' or sex='女'))
        -- (not 取反)

-- ******************* INSERT 語句([]中內容不填) *****************
  -- insert 語句常用來往數據庫中插入數據,可以一行或多行數據
  -- insert [into] table_name (colum1 ...) values()
      -- 1、數字可以不加單引號,時間 字符串必須加單引號
      -- 2、自增長列不添加字符
      -- 3、表名後面字段順序可以任意,但是values後面字段值必須和前面的字段保持一致
      -- 4、可以省略爲空不需要的字段
      -- 5、當表名後面字段名省略時,values後面的字段值必須和表結構默認值相同(順序)
      -- 6、有默認值的列,可以省略,省略後使用默認值,不省略時候使用默認值必須使用default關鍵字
     use studentSys
     insert into Classes (className) values ('JavaScript')
     -- 學生表中插入數據 Student
     insert into Student (stuName,stuBornDay,stuAddress,stuSex,classId) values ('陳聰','1996-03-21','湖北武漢江漢大學','男',1)
     insert into Student values ('張三','1994-06-06','女','江漢大學',2)
     insert into Student (stuName,stuBornDay,stuSex) values ('李四',GETDATE(),'男')
    -- 循環插入多行數據
     declare @i int
     set @i = 1
     while(@i < 100)
       begin
       set @i = 1+ @i
       insert into Student (stuName,stuBornDay,stuSex) values ('李四',GETDATE(),'男')
       print @i
       end
    -- 插入多行數據(備份)
    insert into Student (stuName,stuBornDay,stuAddress,stuSex,classId) 
      select '陳聰',GETDATE(),'湖北武漢','男',1
      union all select '張三',GETDATE(),'湖北武漢','女',2
      union all select '張三',GETDATE(),'湖北武漢','女',2

-- ******************* delete or truncate  刪除數據 ********
  -- delete 刪除數據 如果沒有where子句,則將表中所有數據刪除 否則刪除where子句條件的數據
    -- 刪除整個表中數據
      delete from Student
      select * from Student
    -- 使用where子句 刪除條件中某一條數據
      delete from Student where stuId = 1
  -- truncate 刪除數據
    -- 1、可以將表的主鍵自增重置
    -- 2、使用truncate 的表不能作爲其他表的主表
    -- 3truncate 刪除數據時效率比delete效率高
    -- 有外鍵引用時候 會出現這樣錯誤:無法截斷表 'Student',因爲該表正由 FOREIGN KEY 約束引用。
    truncate table Classes
    select * from Classes

 -- ************* update 使用 **********
 select * from Student
 update Student set stuName = '李四' where stuName = '陳聰' 

 -- ************** 分離 附加 ***********************
 -- ************** 備份 還原 ***********************
 -- ************** 到處SQL語句(結構和數據) *********
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章