SQL 資料庫的操作(一)

2021-08-04 01:46:24 字數 2119 閱讀 1459

一.sqlserver一些基本命令

查詢資料庫是否存在:

if db_id("testdb")is not null;

檢查表是否存在:

if object_id(「textdb」,「u」) is not null ;其中u代表使用者表

建立資料庫:

create database+資料名

刪除資料庫:

drop database 資料庫名 --刪除資料庫的

drop table 表名--刪除表的

delete from 表名 where 條件 --刪除資料的

查詢語句:

use  資料庫名稱 --修改的資料庫

select*from +表名稱 --要查詢的表

select某某,某某,某某 from 表名稱 where 條件 --帶條件查詢的資料

插入資料:

insert into 表名稱  (條件)values (相對應的值)

二.單錶查詢

(1)分組--對於分組查詢,select字句會有限制,需要查詢欄位要出現在group by 子句中,同時分組以後,可以對分組情況進行統計。

(2)查詢條件不要使用計算列

查詢條件帶計算列走的是索引掃瞄,而where子句後面採用查詢範圍限制,則走的是索引查詢。走索引查詢的查詢效能

要高於走索引掃瞄(資料庫不是很大的情況下)

(3)sqlserver中的null,null在資料庫中表示不存在

null的運算規則:有null的任何運算都是null。

is [not] null: 只能用做條件判斷表示式,是否是null?是 條件為true,不是 條件為false。

isnull():函式,如果第乙個引數是null,則用第二個引數的值替換第乙個引數的值作為函式的返回值。記住:第二個引數的型別必須和第乙個相容。

nullif():函式,如果兩個引數值相等、有乙個引數是null、或兩個引數是null,函式返回值是null;否則返回第乙個引數的值。

(4)top用法:意在取出表中滿足條件的前多少位。

id可能不連續:select top 10 * from a where id not in(select top 30 id from a  order by id asc) order by id asc

a.top與percent聯合使用,percent表示所佔的百分比:

select top(20) percent* from a

b.with ties附加屬性:with ties一般是和top , order by相結合使用的,會查詢出最後一條資料額外的返回值

select

topn 

with

ties * 

from

a order

bya 

desc(如果按照order by 引數排序top n返回了前面n個記錄,但是n+1…n+k條記錄和排序後的第n條記錄的引數值(order by 後面的引數)相同,則n+1、…、n+k也返回。n+1、…、n+k就是額外的返回值)

c.over開窗函式

其中over(),括號裡面可以附加條件,基於什麼進行彙總。不新增,則表示對所有的記錄進行彙總。

over不能單獨使用,要和分析函式:rank(),dense_rank(),row_number()等一起使用。

over後的寫法: 

over(order by salary) 按照salary排序進行累計,order by是個預設的開窗函式

over(partition by deptno)按照部門分割槽

over(partition by deptno order by salary) 三.

排名函式

(1)row_number,行號,一般與over聯合使用

sql中的over函式和row_numbert()函式配合使用,可生成行號。可對某一列的值進行排序,對於相同值的資料行進行分組

排序。

(2)rank ,排名,真正意義上的排名,

rank()是跳躍排序,有兩個第二名時接下來就是第四名

(3)dense_rank,密集排名

dense_rank()l是連續排序,有兩個第二名時仍然跟著第三名

(4)分組ntile。按某一條件進行分組。

資料庫 SQL基本操作一

建立資料庫 create database database name 刪除資料庫 drop database dbname 建立新錶 create table tabname col1 type1 not null primary key col2 type2 not null 根據已有的表建立新...

資料庫 資料庫sql一些操作

空關係 none 方法返回可以在鏈式呼叫中使用的 不包含任何記錄的空關係。在這個空關係上應用後續條件鏈,會繼續生成空關係。對於可能返回零結果 但又需要在鏈式呼叫中使用的方法或作用域,可以使用 none 方法來提供返回值。article.none 返回乙個空 relation 物件,而且不執行查詢 下...

資料庫操作sql

一 資料庫的建立 1 建立乙個名稱為mydb1的資料庫 create database mydb1 2 建立乙個使用utf8字符集的mydb2資料庫。create database mydb2 character set utf8 3 建立乙個使用utf8字符集,並帶比較規則的mydb3資料庫。cr...