SQL(structured query language ) 學(xué)習(xí)筆記

SQL 概念介紹

    1. SQL 語句中字符串用單引號,單等號
    1. SQL 語句中對關(guān)鍵字不區(qū)分大小寫,值、表名的大小寫是區(qū)分的。兩個雙引號表一個雙引號
    1. SQL 分DDL、DML、DCL 三類語言
      • DLL: create table 、drop table 、alter table 數(shù)據(jù)定義語言
      • DML:select 、insert 、update 、delete 數(shù)據(jù)操作語言
      • DCL:grant 授權(quán)、revoke 取消授權(quán) 數(shù)據(jù)庫控制語言

數(shù)據(jù)庫概念介紹

  • 主鍵 外鍵 (分開建表防止數(shù)據(jù)冗余)
    主鍵可以有多列 但是一張表只有一個主鍵,叫主鍵表 主鍵不能有重復(fù)值
    外鍵 引用的是主鍵表中的主鍵

INSERT INTO 增加數(shù)據(jù)

  1. SQL=”insert into [表名] ([列字段1],【列字段2】,【列字段3】) values (N'Valu1',N'Valu2',N'Valu3')”
    // 當值為中文或變量時需在單引號里加 英文半角的雙引號
    // 在中文字符串前加 N 可以防止出現(xiàn)亂碼,與數(shù)據(jù)庫排序規(guī)則有關(guān)
  2. SQL=insert into [表名]values ('str1','str2','str3')
    // 根據(jù)已建數(shù)據(jù)庫表頭順序不能變,可以省略[列字段]
  3. 如果要在自動編號列插入值,需啟動手動插入值功能,改成自動編號后,編號根據(jù)手動插入值
    依次向后編號:
    Set Identity_insert 表名 ON
    。。。
    Set Identity_insert 表名 OFF

Select 查詢數(shù)據(jù)

  1. select * from 表名 // 表示查詢該表的所有數(shù)據(jù)
  2. select 列字段1、列字段2 from 表名 // 選擇性的查詢該表的數(shù)據(jù)
  3. select * from 表名 where 條件 // 根據(jù)行條件查詢所有列字段或者部分列字段
  4. select 列字段 as 別名1,列字段 as 別名2 from 表名 //寫法一 給查詢結(jié)果表頭起別名
    • select 列字段 別名1,列字段 別名2 from 表名 //寫法二 給查詢結(jié)果表頭起別名
    • select 別名1=列字段,別名2=列字段 from 表名 //寫法三 給查詢結(jié)果表頭起別名
    • select 別名1=列字段,別名2=列字段,別名3='值' from 表名 //寫法四 增加一列

5 . sclect 別名1='值',別名2='值2' // 可以賦值常量

關(guān)鍵字 top ..order by 、distinct
1、select distinct * from 表名 //針對已經(jīng)查詢出的結(jié)果去除重復(fù)值 不是針對某一列
2、top ...order by..
str =數(shù)值
str =(表達式)
str = 數(shù)值 percent //向上取整,如3.1 取4
-- select top str * from 表名 order by 列名 desc //降序排列, 默認或者寫 acs 為升序

聚合函數(shù)
sum()、count()、max()、min()、avg()
例:select sum(列名)from 表名
特點:
--1 聚合函數(shù)不統(tǒng)計空值

where 條件的三種寫法
--1 select * from 表名 where 列名>=20 and 列名<=30 and 條件三
--2 select * from 表名 where between 20 and 30 and 條件三 //between 是閉區(qū)間
--3 select * from 表名 where 列名 in (20,30,條件三)

模糊查詢
通配符:_ 、% 、[] 、^
-- _ //表示任意單個字符
-- % //表示任意多個字符
例 select * from 表名 where 列名 like '張'
-- [] //表示區(qū)間 通配符轉(zhuǎn)義 [%]、[^]、[
] 也可以指定一個轉(zhuǎn)義符 escape ''
-- ^ //表示非
例 select * from 表名 where 列名 like '張[0-9a-z]妹' //表示0-9 a-z 之間任意一個字符
select * from 表名 where 列名 like '張[^0-9]妹' //表示除了0-9之外任意一個字符

空值處理
語法 select * from 表名 where 列名 is null
select * from 表名 where 列名 is not null

order by 列名 desc(acs)
子句要放到where 最后面 ,order by 返回的數(shù)據(jù)叫”游標”
可以進行多列排序 order by 列名 desc,列名2 desc

UPDATE 修改數(shù)據(jù)

1、語法 update 表名 set 列1=新值1,列2=新值2...where 條件
//如果不加where 條件,那么表示對表中所有數(shù)據(jù)進行修改
2、where 條件中可以使用邏輯運算符
not 、and 、or 、< 、> 、= 、<> (!=) 、 >= 、 <=

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
禁止轉(zhuǎn)載,如需轉(zhuǎn)載請通過簡信或評論聯(lián)系作者。

相關(guān)閱讀更多精彩內(nèi)容

  • 50個常用的sql語句Student(S#,Sname,Sage,Ssex) 學(xué)生表Course(C#,Cname...
    哈哈海閱讀 1,334評論 0 7
  • 表 存儲在表中的數(shù)據(jù)是同一種類型的數(shù)據(jù)或清單。 數(shù)據(jù)庫中的表有為一個名字來標識自己。 表具有一些特性,這些特性定義...
    蛐蛐囍閱讀 1,471評論 0 7
  • 關(guān)系型數(shù)據(jù)庫和SQL SQL語言的三個部分DML:Data Manipulation Language,數(shù)據(jù)操縱語...
    Awey閱讀 2,050評論 0 13
  • 手動不易,轉(zhuǎn)發(fā)請注明出處 --Trance 數(shù)據(jù)庫系統(tǒng)命令: (1).查看存儲過程狀態(tài):show pro...
    Trance_b54c閱讀 1,831評論 0 8
  • 寫于17年年中 我不知道該怎么描述此刻的狀態(tài) 似乎一切的一切都變得無比的寧靜,無比的祥和 啜一口咖啡,聽一段雨 看...
    嫣而思羽閱讀 150評論 0 0

友情鏈接更多精彩內(nèi)容