日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

sql知识

發布時間:2024/1/17 编程问答 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 sql知识 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

SQL 基本知識

SQL Server 是Microsoft 公司推出的關系型數據庫管理系統。具有使用方便可伸縮性好與相關軟件集成程度高等優點,可跨越從運行Microsoft Windows 98 的膝上型電腦到運行Microsoft Windows 2012 的大型多處理器的服務器等多種平臺使用。 Microsoft SQL Server 是一個全面的數據庫平臺,使用集成的商業智能 (BI)工具提供了企業級的數據管理。Microsoft SQL Server 數據庫引擎為關系型數據和結構化數據提供了更安全可靠的存儲功能,使您可以構建和管理用于業務的高可用和高性能的數據應用程序。

簡單點一句話概括: 數據是具有一定意義的數字、字母、符號的統稱,數據庫就是存放數據的

回到頂部
vSql(Structured Query Language) server基礎
1.Sql server的組成:

主要數據庫文件:.mdf 特點:有且只有一個
次要數據庫文件:.ndf 特點:任意個
日志數據庫文件:.ldf 特點:至少一個
2.操作數據庫:

創建數據庫:create databse 庫名
查看所有數據庫:exec sp_helpdb
查看當前數據庫:exec sp_helpdb 庫名
使用數據庫:use 庫名
刪除數據庫:drop database 庫名 ps:正在使用的數據庫無法刪除
3.表的結構: 字段 數據類型(屬性)

4.數據類型:

整型
微整型 tinyint 1個字節
小整型 smallint 2個字節
整型 int 4個字節
大整型 bigint 8個字節
浮點型
float 不能精確存儲數值
real 不能精確存儲數值
decimal(numeric ) 同義,用于精確存儲數值
字符型
char 長度在1到8000之間 定長字符數據
varchar 長度在1到8000之間 變長字符數據
text 存儲可變長度的非Unicode數據,最大長度為2^31-1(2,147,483,647)個字符
時間日期型:datetime 年月日時分秒毫秒
貨幣型:money 精確到貨幣單位的千分之十。存儲大小為 8 個字節。存儲形式為12345.67
回到頂部
vsql server表
1.創建表的語法:

create table 表名
(
字段名稱1 數據類型[屬性],
字段名稱2 數據類型[屬性],
...
)
2.查看所有表語法: exec sp_help

3.查看當前表語法: exec sp_help 表名

4.修改表結構:

增加一列語法:alter table 表名 add 字段名 數據類型
刪除一列語法:alter table 表名 drop column 字段名
修改一列語法:alter table 表名 alter column 字段名 數據類型
刪除表語法:drop table 表名
5.操作表數據:

完全插入數據語法:insert into 表名(字段名1,字段名2...) values(值1,值2...)
省略插入數據語法:insert into 表名 values(值1,值2...)
部分插入數據語法:insert into 表名(字段名1,字段名2...) values(值1,值2...)
多行插入數據語法:insert into 表名 values(值1,值2...),(值1,值2...)
查看所有記錄語法:select * from 表名
查看部分記錄語法:select 字段名1,字段名2... from 表名
修改一條記錄語法:update 表名 set 字段名=值 [where條件]
刪除一條記錄語法:delete from 表名 where 條件
清空表所有記錄
delete from 表名
truncate from 表名 ps:至于他們的區別,我就不多介紹了,有興趣的可以看這里SQL Server中truncate、delete和drop的異同點
6.標識列 identity(初值,增值):

定義:能唯一區分表中的每一條記錄,且該屬性是自動增長的
特點
一個表中有且只有一個標識列
標識列不能編輯,不能更新
標識列數據類型只能是整型
標識列不為null
標識列不重復
作用:保證數據完整性
7.運算符:

sql server的運算符與其他語言不同,這里列舉三個

&&-----and
||-----or
!-----not
8.六大約束:

檢查約束 check 語法 check(條件)
默認約束 default 語法 default'默認語句'
非空約束 not null
唯一性約束 unique
主鍵 primary key
主鍵的值不能重復
一個表中有且只有一個主鍵
外鍵與主鍵相對應
主鍵類型可以是整型、字符型
語法:字段名 數據類型 primary key
外鍵 foreign key references
與主鍵相對應
外鍵的值一定在主鍵范圍之內
外鍵的值可以重復
語法:字段名 數據類型 foreign key references 主表名
注意事項:
在操作主表從表時:先刪除從表,再刪除主表,刪除數據,也要先從后主
在建立表時:要先創建主表,再創建從表,插入數據,先主后從
回到頂部
vsql server查詢
1.查詢符合條件的數據: select 字段名 from 表名 [where 條件]

2.之間的

and ... or
between ... and
例句:查詢23歲到25歲之間的學生
select * from student where age>=23 and age<=25
select * from student where age between 23 and 25
3.不顯示重復項:distinct select distinct 字段名 from 表名

4.前幾項 top select top n * from 表名

5.排序 order by + 字段名 asc升序 desc降序(默認情況下為升序) select * from student where age>25 order by name desc

  • is not null/null select * from 表名 where 字段名 is null
  • 7.列起別名as select id as 學生編號, name as 學生姓名 from student as a 注:實際語法中as可以省略

    8.高級查詢(模糊查詢) like select 字段名 from 表名 where 字段名 like '通配符 值 通配符'

    sql server 通配符

    % 任意字符
    []范圍內任意字符
    [^]非范圍內任意字符
    9.聯合查詢 join

    交叉查詢:select 字段名 from 表1 cross join 表2 [where 條件]
    內連接查詢:select 字段名 from 表1 inner join 表2 on 聯合條件 [where 條件]
    外連接
    左外連接:select 字段名 from 表1 left join 表2 on 聯合條件 [where 條件]
    右外連接:select 字段名 from 表1 right join 表2 on 聯合條件 [where 條件]
    全外連接:select 字段名 from 表1 full join 表2 on 聯合條件 [where 條件]
    多表連接:select 字段名 from 表1 inner join 表2 on 聯合條件 inner join 表3 on 聯合條件 [where 條件]
    10.嵌套查詢(嵌套查詢都可以用聯合查詢完成),顯示的字段在一個表中,條件在另外一個表中

    in() 在...范圍之內的
    not in() 不在...范圍之內的
    exists 存在
    not exists 不存在

  • 分組 group by
  • 回到頂部
    v系統函數
    1.統計(聚合)函數

    Transact-SQL編程語言提供下列聚合函數:
    AVG 返回指定組中的平均值,空值被忽略。
    例:select prd_no,avg(qty) from sales group by prd_no

  • COUNT 返回指定組中項目的數量。
    例:select count(prd_no) from sales
  • MAX 返回指定數據的最大值。
    例:select prd_no,max(qty) from sales group by prd_no
  • MIN 返回指定數據的最小值。
    例:select prd_no,min(qty) from sales group by prd_no
  • SUM 返回指定數據的和,只能用于數字列,空值被忽略。
    例:select prd_no,sum(qty) from sales group by prd_no
  • COUNT_BIG 返回指定組中的項目數量,與COUNT函數不同的是COUNT_BIG返回bigint值,而COUNT返回的是int值。
    例:select count_big(prd_no) from sales
  • GROUPING 產生一個附加的列,當用CUBE或ROLLUP運算符添加行時,輸出值為1.當所添加的行不是由CUBE或ROLLUP產生時,輸出值為0.
    例:select prd_no,sum(qty),grouping(prd_no) from sales group by prd_no with rollup
  • BINARY_CHECKSUM 返回對表中的行或表達式列表計算的二進制校驗值,用于檢測表中行的更改。
    例:select prd_no,binary_checksum(qty) from sales group by prd_no
  • CHECKSUM_AGG 返回指定數據的校驗值,空值被忽略。
    例:select prd_no,checksum_agg(binary_checksum(*)) from sales group by prd_no
  • CHECKSUM 返回在表的行上或在表達式列表上計算的校驗值,用于生成哈希索引。
  • STDEV 返回給定表達式中所有值的統計標準偏差。
    例:select stdev(prd_no) from sales
  • STDEVP 返回給定表達式中的所有值的填充統計標準偏差。
    例:select stdevp(prd_no) from sales
  • VAR 返回給定表達式中所有值的統計方差。
    例:select var(prd_no) from sales
  • VARP 返回給定表達式中所有值的填充的統計方差。
    例:select varp(prd_no) from sales
    2.日期函數
  • getDate()獲取當前時間
    Dateadd() 增加時間
    datediff(datepart,startdate,enddate)

    startdate 和 enddate 參數是合法的日期表達式。

    datepart 參數可以是下列的值:

    datepart 縮寫
    年 yy, yyyy
    季度 qq, q
    月 mm, m
    年中的日 dy, y
    日 dd, d
    周 wk, ww
    星期 dw, w
    小時 hh
    分鐘 mi, n
    秒 ss, s
    毫秒 ms
    微妙 mcs
    納秒 ns
    datepart(datepart,date)函數用于返回日期/時間的單獨部分,比如年、月、日、小時、分鐘等等,datepartd參數可以參見上表
    datename(datepart,date)傳回代表指定 date 之指定 datepart 的字元字串
    3.數學函數

    abs()取絕對值
    round()四舍五入
    floor()函數返回小于或等于所給數字表達式的最大整數
    ceiling()函數返回大于或等于所給數字表達式的最小整數
    sqrt()開平方根
    關于abs()/round()/...這些數學函數的demo可以在我的上篇博客中找到
    4.字符串函數

    left()左截串
    right()右截串
    ltrim()去左空格
    rtrim()去右空格
    replace(字符串,舊字符串,新字符串) 替換
    substring(字符串,位置,長度) 截字符串 ps:sql中字符串下標從1開始
    reverse()反轉
    len()長度
    upper()轉大寫
    lower()轉小寫
    回到頂部
    vT-sql
    1.聲明變量語法: declare @變量名 數據類型

    給變量賦值

    set @變量名=值
    select @變量名=值
    輸出變量 select @變量名

    ps:若想輸出變量、聲明變量、變量賦值和變量輸出三條語句需一起執行

    2.編程語句

    begin...end
    if...else
    回到頂部
    v視圖
    1.創建視圖

    create view 視圖名稱
    as
    sql中查詢語句
    2.使用視圖 select * from 視圖名

    3.查看視圖 exec sp_help

    4.查看視圖內容 exec sp_helptext 視圖名

    5.修改視圖 alter view 視圖名 as select * from 表名 [where條件]

    6.刪除視圖 drop view 視圖名

    7.修改視圖 update 視圖名 set 字段名=值 [where條件]

    回到頂部
    v存儲過程/觸發器/事務
    1.sql server 存儲過程

    復制代碼
    create proc | procedure pro_name
    [{@參數數據類型} [=默認值] [output],
    {@參數數據類型} [=默認值] [output],
    ....
    ]
    as
    select ......
    復制代碼
    2.sql server 觸發器

    insert觸發器
    update觸發器
    delete觸發器
    關于sql server 觸發器這里就不多介紹了,更多詳情大家有興趣可以看這里
    3.sql server 事務

    關于sql server 事務這里就不多介紹了,更多詳情大家有興趣可以看這里

    轉載于:https://www.cnblogs.com/Arther-J/p/5444145.html

    創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

    總結

    以上是生活随笔為你收集整理的sql知识的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。