基本的SQL語句

来源:http://www.cnblogs.com/mengxiao/archive/2017/01/11/6272942.html
-Advertisement-
Play Games

一些常用的SQL語句大全參考:http://www.cnblogs.com/acpe/p/4970765.html 這篇博文整理的比較全,我摘抄一些基本常用的。 創建資料庫 CREATE DATABASE database-name 刪除資料庫 drop database dbname 創建新表 c ...


一些常用的SQL語句大全參考:http://www.cnblogs.com/acpe/p/4970765.html

這篇博文整理的比較全,我摘抄一些基本常用的。

創建資料庫
CREATE DATABASE database-name

刪除資料庫
drop database dbname

創建新表
create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..)
根據已有的表創建新表:
A:create table tab_new like tab_old (使用舊表創建新表)
B:create table tab_new as select col1,col2… from tab_old definition only

刪除新表
drop table tabname
增加一個列
Alter table tabname add column col type
註:列增加後將不能刪除。DB2中列加上後數據類型也不能改變,唯一能改變的是增加varchar類型的長度。
添加主鍵

Alter table tabname add primary key(col)
刪除主鍵

Alter table tabname drop primary key(col)
創建索引

create [unique] index idxname on tabname(col….)
刪除索引

drop index idxname
註:索引是不可更改的,想更改必須刪除重新建。
創建視圖

create view viewname as select statement
刪除視圖

drop view viewname
選擇:select * from table1 where 範圍
插入:insert into table1(field1,field2) values(value1,value2)
刪除:delete from table1 where 範圍
更新:update table1 set field1=value1 where 範圍
查找:select * from table1 where field1 like ’%value1%’ ---like的語法很精妙,查資料!
排序:select * from table1 order by field1,field2 [desc]
總數:select count as totalcount from table1
求和:select sum(field1) as sumvalue from table1
平均:select avg(field1) as avgvalue from table1
最大:select max(field1) as maxvalue from table1
最小:select min(field1) as minvalue from table1

分組:Group by:
  一張表,一旦分組完成後,查詢後只能得到組相關的信息。
 組相關的信息:(統計信息) count,sum,max,min,avg  分組的標準)
    在SQLServer中分組時:不能以text,ntext,image類型的欄位作為分組依據
 在selecte統計函數中的欄位,不能和普通的欄位放在一起;

修改資料庫的名稱:
sp_renamedb 'old_name', 'new_name'


A: UNION 運算符
UNION 運算符通過組合其他兩個結果表(例如 TABLE1 和 TABLE2)並消去表中任何重覆行而派生出一個結果表。當 ALL 隨 UNION 一起使用時(即 UNION ALL),不消除重覆行。兩種情況下,派生表的每一行不是來自 TABLE1 就是來自 TABLE2。
B: EXCEPT 運算符
EXCEPT 運算符通過包括所有在 TABLE1 中但不在 TABLE2 中的行並消除所有重覆行而派生出一個結果表。當 ALL 隨 EXCEPT 一起使用時 (EXCEPT ALL),不消除重覆行。
C: INTERSECT 運算符
INTERSECT 運算符通過只包括 TABLE1 和 TABLE2 中都有的行並消除所有重覆行而派生出一個結果表。當 ALL 隨 INTERSECT 一起使用時 (INTERSECT ALL),不消除重覆行。
註:使用運算詞的幾個查詢結果行必須是一致的。

 

使用外連接
A、left (outer) join:
左外連接(左連接):結果集幾包括連接表的匹配行,也包括左連接表的所有行。
SQL: select a.a, a.b, a.c, b.c, b.d, b.f from a LEFT OUT JOIN b ON a.a = b.c
B:right (outer) join:
右外連接(右連接):結果集既包括連接表的匹配連接行,也包括右連接表的所有行。
C:full/cross (outer) join:
全外連接:不僅包括符號連接表的匹配行,還包括兩個連接表中的所有記錄。

 

子查詢(表名1:a 表名2:b)
select a,b,c from a where a IN (select d from b ) 或者: select a,b,c from a where a IN (1,2,3)

 

in 的使用方法
select * from table1 where a [not] in (‘值1’,’值2’,’值4’,’值6’)

 

select(選擇) 欄位 from (表名) where(篩選條件)
group by(欄位名,按什麼分組) having (條件,在每組中篩選)
order by (排序)


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 本來想移植DM9000網卡的驅動,無奈硬體出了點問題,通過杜邦線鏈接開發板和DM9000網卡模塊,系統上電,還沒載入網卡驅動就直接崩潰了,找不到原因。。。剛好手上有一個enc28j60的網卡模塊,於是就著手移植enc28j60的驅動。 其實移植enc28j60的驅動也十分簡單,網上有現成的,只需要分 ...
  • 使用橋接的鏈接方式,centos6.4配置靜態ip,能ping通網關,但ping 外網時出現 "network is unreachable" 如:ping www.baidu.com。 原來是路由配置問題。嘗試直接修改系統文件/etc/sysconfig/network-scripts/route ...
  • 安裝 squid yum install squid -y 備份squid.conf cp squid.conf squid.conf-list vi squid.conf 輸入: acl denyWeb dstdomain "/etc/squid/denyWeb.list" http_access ...
  • 伺服器添加3塊磁碟的體繫結構 [root@oldboylinux test]# free -m total used free shared buffers cached Mem: 992 133 859 0 24 37 -/+ buffers/cache: 70 921 Swap: 511 0 5... ...
  • 前面的話   在網上找了一些關於命令提示符CMD的資料,但是很多資料都是把所有的功能羅列出來,大部分都不會用到。所以,自己把常用的CMD命令總結如下,方便查閱   操作類 列出所有支持的指令及說明 ,如 說明cd命令的詳細用法 清屏 退出當前程式 使用ctrl+c快捷鍵 ...
  • Linux主要分為兩大系發行版,分別是RedHat和Debian,lamp環境的安裝和配置也會有所不同,所以分別以CentOS 7.1和Ubuntu 14.04做為主機(L) Linux下安裝軟體,最常見有源碼安裝方式、RPM/deb安裝方式、yum/apt get安裝方式等,在這裡使用yum/ap ...
  • 0、系統環境 0.1 此處選擇用戶較多的ubuntu作為入門系統,選擇U盤裝,在ubuntu官網https://www.ubuntu.com/download,選擇適合自己的ubuntu版本下載系統鏡像文件。 0.2 選擇容量大於4G的U盤 用Universal UBS installer 製作啟動 ...
  • 安裝並配置MySQL 5.6 從CentOS從7.x開始預設使用MariaDB。MariaDB完全相容MySQL,包括API和命令行。但是很多時候我們還是會想要安裝MySQL,所以不能直接通過yum命令安裝。 下載源安裝文件 本地安裝rpm包(配置MySQL安裝源) 查看所有MySQL安裝源(預設M ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...