SQL基本語法 小白都能看懂

2021-10-11 14:51:22 字數 3820 閱讀 5327

本篇主要從以下四個方面介紹,主要是比較基礎的語法,讓每一位學習者都能看懂。

(本文中資料庫名為testdemo, 資料表的名字為tb_user)

1.ddl(資料庫定義語言)

ddl主要是針對建立表時對錶結構的定義,使用中主要體現在以下三個關鍵字上

(注:資料庫標準中要求關鍵字都應大寫,為了學習方便,這裡進行小寫)

①create 

create主要用於建立資料庫和資料表,基本語法如下

-- 建立資料庫

create database if not exists testdemo;

-- 建立資料表

create table if not exists tb_user;

②alter

alter主要實現基於原表結構的基礎上進行相應的修改,主要有以下三種用法,以**的形式展現給大家(a-c)

a. 基於原有的表結構新增新列

-- 語法:alter table tb_user add ...

-- 例子:為原表新增姓名列(user_name)

alter table tb_user

add

user_name varchar(20

) not null;

-- 也可以一次新增多列,在為其增加編號(user_id)和年齡(user_age)列

alter table tb_user

add

(user_id varchar(20

) not null,

user_age int(11

) not null

);

b.基於原表結構修改已有列屬性

-- 將編號列(user_id)的型別改為int型,並取名為user_number

alter table tb_user

change

user_id user_number int(11

) not null;

c.刪除已存在的列

-- 刪除年齡列(user_age)

alter table tb_user

drop

user_age;

③drop 刪除表、資料庫(直接把錶、庫空間刪了)
-- 刪除資料庫testdemo

drop database testdemo;

-- 刪除資料表tb_user

drop table tb_user;

dml(資料庫操縱語言)

dml主要用來向資料表中增(insert)、刪(delete)、改(update)資料,還是以**的形式展示。

這裡先給出一段建立表的**,指定一些字段,看起來更加直觀一點。

create table if not exists tb_user

(user_id varchar(20

) primary key,

-- 編號,並設定為主鍵

user_name varchar(25

),-- 姓名

user_age int

,-- 年齡,設定非空

user_*** varchar(5

),-- 性別

user_address varchar

(255

)-- 住址

);

表中給出tb_user表的5個字段

①insert
-- 給指定的字段插入資訊,只給編號、姓名、年齡插入資訊(插入多行,逗號隔開)

insert into tb_user

(user_id,user_name,user_age)

values

('1110'

,'張三',23

),(.

...)

;-- 逐行插入資料,按資料表建立的字段順序插入

insert into tb_user values

('1112'

,'李四',21

,'男'

,'某某省某某市某某區'),

(...

.);

②delete
-- 清空表資料,但是表還在

delete from tb_user;

-- 按條件刪除某些行資料,刪除年齡大於21的行資料

delete from tb_user where user_age>

21;

③update
-- 更新整列的資訊,把整張表的姓名列改為『張偉』

update tb_user set user_name =

'張偉'

;-- 更新某一行中部分列的資料,把編號為『1111』的使用者姓名更新為『mary』,年齡更新為25

update tb_user set user_name=

'mary'

,user_age=

25 where user_id=

'1111'

;-- 更新多行資料,把年齡小於20的所有使用者姓名更新為『tony』

update tb_user set user_name=

'tony' where user_age<

20;

3.dql(資料庫查詢語言)

dql主要是對資料進行檢索,是sql語句的「靈魂」。

假設現在有另外一張表tb_product(主要為後面多表連線查詢做準備),裡面的字段有

(product_id, user_id, product_name,product_name)

可見,tb_product表中有乙個欄位和tb_user是相等的,即user_id。

a.普通查詢

-- 查詢所有

select * from tb_user;

-- 查詢指定字段,按指定查詢條件查詢相應使用者編號和姓名

select user_id, user_name from tb_user where (查詢條件)

b.內連線,只返回滿足連線條件的資料,即只返回兩張表中user_id相等的資料

select * from tb_user

inner join tb_product

on tb_user.user_id=tb_product.user_id;

c.左外連線,除了返回滿足連線條件的資料外,還返回左表中不滿足連線條件的資料,右表的相應欄位補為null,這裡的左表相當於是tb_user

select * from tb_user

left join tb_product

on tb_user.user_id=tb_product.user_id;

d.右外連線,除了返回滿足連線條件的資料外,還返回右表中不滿足連線條件的資料,左表的相應欄位補為null,這裡的右表相當於是tb_product

select * from tb_user

right join tb_product

on tb_user.user_id=tb_product.user_id;

e.全連線,左外連線和右外連線合併的結果

select * from tb_user

full join tb_product

on tb_user.user_id=tb_product.user_id;

詳細dql查詢語句參考mysql查詢指令

小白都能看懂的block

首先說明一下,我自己也是乙個小白 這是我對block的一點認識或總結,有不對的地方,希望大家指出來 block就是乙個 塊,用來執行一小段程式的,通常我們定義乙個block 可以用它的基本模型,返回值型別 變數的名字 引數型別 例如 int myblock int 這就是定義了乙個block 這個變...

小白都能看懂的softmax詳解

softmax把一些輸入對映為0 1之間的實數,並且歸一化保證和為1,因此多分類的概率之和也剛好為1 或參考 小白都能看懂的softmax詳解 在機器學習尤其是深度學習中,softmax是個非常常用而且比較重要的函式,尤其在多分類的場景中使用廣泛。他把一些輸入對映為0 1之間的實數,並且歸一化保證和...

新手都能看懂的Dubbo!

1.dubbo架構 上述節點簡單說明 呼叫關係說明 1.服務容器負責啟動,載入,執行服務提供者。2.服務提供者在啟動時,向註冊中心註冊自己提供的服務。3.服務消費者在啟動時,向註冊中心訂閱自己所需的服務。4.註冊中心返回服務提供者位址列表給消費者,如果有變更,註冊中心將基於長連線推送變更資料給消費者...