數(shù)據(jù)庫

因為我們的產(chǎn)品是存儲在Gbase 8A數(shù)據(jù)庫里的。所以對SQL語言進(jìn)行了了解.SQL ,指結(jié)構(gòu)化查詢語言,全稱是 Structured Query Language。是用于訪問和處理數(shù)據(jù)庫的標(biāo)準(zhǔn)的計算機(jī)語言。SQL的使用與RDBMS (關(guān)系型數(shù)據(jù)庫管理系統(tǒng): Relational Database Management System)息息相關(guān)。
一個數(shù)據(jù)庫通常包含一個或多個表。每個表有一個名字標(biāo)識(例如:"Websites"),表包含帶有數(shù)據(jù)的記錄(行)SQL 對大小寫不敏感:SELECT 與 select 是相同的。

要創(chuàng)建一個顯示數(shù)據(jù)庫中數(shù)據(jù)的網(wǎng)站,您需要:

1.RDBMS 數(shù)據(jù)庫程序(比如 MS Access、SQL Server、MySQL)

2.使用服務(wù)器端腳本語言,比如 PHP 或 ASP

3.使用 SQL 來獲取您想要的數(shù)據(jù)

4.使用 HTML / CSS

常用的數(shù)據(jù)庫指令

選擇數(shù)據(jù)庫
use

設(shè)置字符集

set names utf8; 命令用于設(shè)置使用的字符集。

讀取 select
SELECT

SELECT column_name,column_name FROM table_name;

SELECT * FROM table_name 表中所有列

DISTINCT 關(guān)鍵詞用于返回唯一不同的值(也就是去除重復(fù)值)。

SELECT DISTINCT column_name,column_name FROM table_name;

SELECT TOP(SQL), LIMIT(MySOL), ROWNUM(Oracel)用于規(guī)定要返回的記錄的數(shù)目(按照id排序)

select top 5 * from table order by id desc --desc 表示降序排列 asc 表示升序
過濾 where
WHERE:過濾出符合條件的數(shù)據(jù)
SELECT column_name,column_name
FROM table_name
WHERE column_name operator value;

運(yùn)算符 描述
= 等于
<> 不等于。注釋:在 SQL 的一些版本中,該操作符可被寫成 !=

大于
< 小于
= 大于等于
<= 小于等于
BETWEEN AND 在某個范圍內(nèi)
LIKE 搜索某種模式(模糊查詢)
IN 指定針對某個列的多個可能值
AND 與
OR 或
NOT 非
is null 查詢空集

以上操作符都有NOT的搭配

%a' //以a結(jié)尾的數(shù)據(jù)

'a%' //以a開頭的數(shù)據(jù)

'%a%' //含有a的數(shù)據(jù)

a’ //三位且中間字母是a的

'_a' //兩位且結(jié)尾字母是a的

'a_' //兩位且開頭字母是a的

通配符 描述 使用
% 替代 0 個或多個字符
_ 替代一個字符
[charlist] 字符列中的任何單一字符
[^charlist]

[!charlist]
不在字符列中 MySQL 中使用 REGEXP 或 NOT REGEXP 運(yùn)算符 (或 RLIKE 和 NOT RLIKE) 來操作正則表達(dá)式。
IN 與 = 的異同

相同點:均在WHERE中使用作為篩選條件之一、均是等于的含義

不同點:IN可以規(guī)定多個值,等于規(guī)定一個值

IN

SELECT column_name(s)
FROM table_name
WHERE column_name IN (value1,value2,...);
=

SELECT column_name(s)
FROM table_name
WHERE column_name=value1;
排序 ORDER BY

ORDER BY 對結(jié)果集按照一個列或者多個列進(jìn)行排序

默認(rèn)是升序,降序需要使用DESC關(guān)鍵字。

SELECT column_name,column_name
FROM table_name
ORDER BY column_name,column_name ASC|DESC;
ORDER BY 多列的時候,先按照第一個column name排序,在按照第二個column name排序;

更新
UPDATE - 更新數(shù)據(jù)庫中的數(shù)據(jù)
UPDATE table_name
SET column1=value1,column2=value2,...
WHERE some_column=some_value;
WHERE 子句規(guī)定哪條記錄或者哪些記錄需要更新。如果您省略了 WHERE 子句,所有的記錄都將被更新!

執(zhí)行沒有 WHERE 子句的 UPDATE 要慎重,再慎重。

在 MySQL 中可以通過設(shè)置 sql_safe_updates 這個自帶的參數(shù)來解決,當(dāng)該參數(shù)開啟的情況下,你必須在update 語句后攜帶 where 條件,否則就會報錯。

set sql_safe_updates=1; 表示開啟該參數(shù)

刪除
DELETE - 從數(shù)據(jù)庫中刪除數(shù)據(jù)
DELETE FROM table_name
WHERE some_column=some_value;
刪除所有:在不刪除表的情況下,刪除表中所有的行。這意味著表結(jié)構(gòu)、屬性、索引將保持不變: 但是注意過程是不可逆的

DELETE FROM table_name;

DELETE * FROM table_name
DROP

DROP TABLE - 刪除表

DROP INDEX - 刪除索引

插入
INSERT INTO - 向表中插入新記錄。
第一種形式無需指定要插入數(shù)據(jù)的列名,只需提供被插入的值即可:沒有指定要插入數(shù)據(jù)的列名的形式需要列出插入行的每一列數(shù)據(jù):

INSERT INTO table_name
VALUES (value1,value2,value3,...);
INSERT INTO table_name (column1,column2,column3,...)
VALUES (value1,value2,value3,...);
表現(xiàn)為插入一個新行。

id 列是自動更新的,表中的每條記錄都有一個唯一的數(shù)字。

創(chuàng)建 CREATE
創(chuàng)建新數(shù)據(jù)庫 CREATE DATABASE

在數(shù)據(jù)庫中創(chuàng)建新表 CREATE TABLE

創(chuàng)建索引 CREATE INDEX - 創(chuàng)建索引(搜索鍵)

在數(shù)據(jù)庫中創(chuàng)建存儲過程

在數(shù)據(jù)庫中創(chuàng)建視圖

修改 ALTER
ALTER DATABASE - 修改數(shù)據(jù)庫
ALTER TABLE - 變更(改變)數(shù)據(jù)庫表

?著作權(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ù)。

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

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