本篇主要從以下四個方面介紹,主要是比較基礎的語法,讓每一位學習者都能看懂。
(本文中資料庫名為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.註冊中心返回服務提供者位址列表給消費者,如果有變更,註冊中心將基於長連線推送變更資料給消費者...