數據庫的經常使用操做

1、技術起源

數據庫操做,不論是服務端前端移動端,都或多或少的會涉及到數據的存儲、查詢、修改。因此做爲一名開發者,數據庫操做也是開發必備的一項技能。前端

SQL全稱是Structured Query Language,翻譯後就是 結構化查詢語言,是一種數據庫查詢和設計語言, 用於存取數據與及查詢、更新和管理關係數據庫系統

常見的數據庫有MySQLSQLServerORACLEDB2等等。面試

2、數據庫基礎

數據庫操做概覽圖:數據庫

圖片描述

數據庫的基本操做步驟:函數

  • 一、建立數據庫
  • 二、鏈接(打開)數據庫
  • 三、建立表
  • 四、往表中加入數據
  • 五、更新數據、查詢數據、刪除數據
  • 六、斷開(關閉)數據庫

一、建表(CREATE TABLE)

CREATE TABLE emp 
( id int NOT NULL PRIMARY KEY, //添加主鍵
  name varchar(20),
  gender varchar(2),
  performance int,
  salary double
)

若是建立表後,忘記添加主鍵或者外鍵,可使用ALERT添加。spa

ALERT TABLE emp ADD PRIMARY KEY(id); //添加主鍵
ALERT TABLE orders ADD FOREIGN KEY (e_id) REFERENCE emp(id); //添加外鍵

二、INSERT(插入)

向表中加入數據。翻譯

//向emp 表中插入一條數據,插入字符串時使用''
INSERT INTO emp VALUES(1, 'yijie', 'male', 85, 18000.0);

向表中插入數據的標準格式是:設計

insert into tableName(column1, column2...) values('value1', 'value2'...)

三、UPDATE(更新)

更新表中的數據。code

update emp set salary=20000 where name='yijie';

四、DELETE (刪除)

delete from emp where id=8;//刪除表中的某條數據,where後面的爲條件
delete * from emp;//刪除表中的全部數據,清空表
drop table 表名稱; //刪除某張表

注意:在使用delete刪除表中數據時,若是該表與其餘表有關聯關係,如:外鍵,得先刪除關聯表中的外鍵。orm

五、DISTINCT(去重)

一張表通過一段時間的操做,避免不了會出現數據重複的狀況。重複的數據不只沒有意義,並且佔用存儲空間。這個時候distinct就悄然登場了。distinct用於根據條件去除表中的重複內容。排序

//查詢emp中的name,返回惟一的名字
select distinct name from emp;

六、Select (查詢)

查詢是數據庫操做中最經常使用的操做,也是最難的。select語句用於從表中查詢數據,結果被存儲在一個結果表中(稱爲結果集)。

SELECT 語法:
SELECT 列名稱 FROM 表名稱; //查詢表中的某列數據
SELECT * FROM 表名稱; //查詢整張表
還有更爲複雜的條件查詢。

3、基礎函數

數據庫還爲咱們提供了一些函數,方便咱們進行數據庫操做。這些基礎函數基本都是列名爲函數參數,返回某一列的計算結果。

1.AVG()平均值

avg()用於返回某列的平均值,NULL不包含在計算中。

select AVG(salary) as avg_salary form emp; //查詢員工的平均薪水

2.COUNT()

COUNT函數用於返回匹配指定條件的行數。

select COUNT(*) from emp; //返回表的記錄數

3.MAX()

MAX函數返回指定列的最大值,NULL字不包括在計算中。

4.MIN()

MIN函數返回指定列的最小值,NULL字不包括在計算中。

5.SUM()

SUM函數返回指定列的總數。

6.ROUND()

ROUND函數用於把數值字段舍入爲指定的小數位數。

select ROUND(salary,1) as n_salary from emp; //將salary保留一位小數

select ROUND(column_name,decimals) from table_name;

參數 描述
column_name 要舍入的字段
decimals 規定要返回的小數位數

7.FORMAT()

FORMAT用於對指定字段的顯示進行格式化
SELECT FROMAT(column_name,format) FROM table_name;

參數 描述
column_name 要格式化的字段
format 指定的格式

4、高級用法

還有一些SQL的高級用法,分頁模糊匹配排序等等。

1.分頁(LIMIT)

分頁查詢就是返回返回當前頁碼對應的頁面的數據。
分頁查詢的基本公式:(page - 1) * pageSize + 當前頁要顯示的數據條數

select * from emp limit 4; //返回前4條數據

2.模糊匹配(LIKE)

模糊匹配是配合where條件使用的。

//%能夠理解爲定義通配符
select * from emp where name like 'a%';  //返回以a開頭的全部姓名

3.IN

返回特定列在某個集合中的全部數據。

select * from emp where name in ('AA', 'BB'); //返回name爲AA、BB的全部數據。

4.JOIN

聯表運算符JOIN,用於將兩個或者兩個以上的表進行關聯,並從這些表中查詢數據。
經常使用的幾種鏈接方式:

  • INNER JOIN: 內鏈接。
  • LETF JOIN:就算右表中沒有匹配,也從左表中返回全部的行。
  • RIGHT JOIN:就算左表中沒有匹配,也從右表中返回全部的行。
  • FULL JOIN:只要有一個表存在就返回。

5.UNION

UNION運算符用於合併兩個或多個SELECT語句的結果集。

UNION內部的SELECT語句必須具備相同數量的列,列也必須具備類似的數據類型。同時,每條SELECT語句中列的順序必須相同。

6.AUTO_INCREMENT(自增)

通常用於修飾主鍵,使其保持自增。

7.ORDER BY (排序)

使用order by對查詢結果進行排序,默認是升序

  • ASC:升序(從小到大)
  • DESC:降序(從大到小)
select * from emp order by name;

8.GROUP BY

一般匹配合計函數使用,根據一個或者多個列隊結果集進行分組。

9.HAVING

用於給分組設置條件。

10.DEFAULT

default約束用於向列中插入默認值。

寫在最後

本文是對數據庫中常常用到的一些寫法與及函數的概括總結,方便之後用到的時候可以快速查詢到。題外話:主要是前段時間去面試的時候,被問到修改一條數據的語句怎麼寫時,居然沒有回到上來,因此決定對數據庫的經常使用操做作一個總結。

相關文章
相關標籤/搜索