婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > 三十分鐘MySQL快速入門(圖解)

三十分鐘MySQL快速入門(圖解)

熱門標簽:地圖標注什么軟件好用 地圖標注百度競價 西藏地圖標注改進點 如何辦理400客服電話 外呼系統怎樣才能不封號 神行者百貨商場地圖標注 外呼系統線路經常出問題嗎 安陽手機自動外呼系統原理是什么 地圖標注專員入駐

一、MySQL安裝

MySQL的下載

http://dev.mysql.com/downloads/mysql/

MySQL版本選擇

MySQL功能自定義選擇安裝

功能自定義選擇

路徑自定義選擇

設置root用戶密碼

安裝完成,點擊MySQL Workbench 6.3 CE進入MySQL客戶端

二、SQL基礎

SQL語句分類

1.DDL(Data Definition Languages)語句:數據定義語言,這些語句定義了不同的數據段、數據庫、表、列、索引等數據庫對象。常用的語句關鍵字主要包括create/drop/alter

2.DML(Data Manipulation Language)語句:數據操縱語句,用于添加、刪除、更新和查詢數據庫記錄,并檢查數據完整性。常用的語句關鍵字主要包括 insert/delete/update/select等

3.DCL(Data Control Language)語句:數據控制語句,用于控制不同數據段直接的許可和訪問級別的語句。這些語句定義了數據庫、表、字段、用戶的訪問權限和安全級別。主要的語句關鍵字包括grant/revoke等

DDL語句(涉及表的定義、結構的修改)

一、create語句

Query Ok代表語句執行成功

1 row affected代表數據庫一行收到影響

0.01 sec代表操作執行的時間

create table student(
SID int not null auto_increment,
sNo int ,
sName varchar(50) not null,
primary key(SID)
);

1.查看系統中都存在哪些數據庫(show databases;)

2.在查看系統中已有的數據庫后,可以用(use dbname)選擇對應的數據庫

3.在選擇對應的數據庫后,查詢該數據庫下面的所有的表(show tables)

二、刪除數據庫

刪除數據庫的語法:drop databse dbname;

三、創建表

語法:create table tablename(column_name_1 column_type_1 constraints,column_name_2 column_type2 constrationts)

mysql的表名是以目錄形式存儲在磁盤上,表名的字符可以是任何目錄名允許的字符。

column_name是列名

column_type是列的數據類型

constrationts是列的約束條件

1.查看表定義:desc tablename

2.查看創建表的SQL語句:show create table tablename

四、刪除表

刪除表的語法:drop table tablename;

五、修改表

aleter 語法 | 說明

---|---
alter table tablename modify columnname newColumnType | 修改表字段的類型(==modify 不能更改字段名稱==)
alter table tablename add newColumnname newColumnType| 增加表字段
alter table tablename drop oldCloumnname|刪除表字段
alter table tablename change oldColumname newColumnname newColumntype|修改字段的名稱及類型
alter table tablename rename (to) newtablename|修改表名稱

修改字段的排列順序

在alter的語法后面都有[first\after columnname]可選項

alter table user add address varchar(20) first ;
alter table user add age int after name ; 

DML(對數據庫表記錄進行操作,增(insert)刪(delete)改(update)查(select))

1.insert語句

語法:

插入一條:insert into tablename(columnname1,columnname2...)values(val1,val2...);

插入多條:insert into tablename(columnname1,columnname2...)values(val1,val2...),(val1,val2...);

2.update語句

語法:update tablename set columnname=value [where condition]

如果使用MySQL Workbench,update語句不加where條件的會執行錯誤,需要如下圖設置取消設置:

-3.delete語句

語法:delete from tablename where condition

-4.select語句

語法:select * from tablename [where condition]

5.表連接

1.內連接(僅選出兩張表中互相匹配的數據)

select cno,cname,sname from student inner join course on cno=sno;
select cno,cname,sname from student,course where cno=sno;

2.外連接

外連接又區分:

1.左連接(left join):包含左邊表的所有記錄,右邊沒有的為Null

2.右連接(right join):包含右邊表的所有記錄,左邊沒有的為null

6.子查詢

-7.記錄聯合

語法:

select * from t1 union all select * from t2;
select * from t1 union select * from t2;

union all與union的區別:

union all是把結果集直接合并在一起,而union是將union all后的結果進行一次distinct,去除重復后的結果

DCL語句(DCL語句主要是dba用來管理系統中的對象權限)

grant與revoke

三、MySQL支持的數據類型

數值類型

MySQL支持類型后面的小括號指定顯示寬度,例如:int(5)表示當數值寬度小于5的時候在數字前面填滿寬度,如果不顯示指定寬度則默認為int(11)。如果插入的數據大于這個數值寬度,對實際的插入值是沒有影響的,是按照int類型的實際大小進行的。

create table valuetype(
age int,
age1 int
)
insert into valuetype(age,age1)values(1,2);//這時候數據庫就顯示1
alter table valuetype modify age int zerofill;//這時候數據庫就顯示'0000000001'

數據插入bit類型字段時,首先轉換為二進制,如果位數允許,將插入成功,如果位數小于實際的位置,則插入失敗。

日期時間類型

mysql里面獲取當前時間為now().mssql獲取當前時間為getdate()

timestamp,支持的范圍非常小,從1970-2038年,timestamp受時區的影響

create table timestamptest(
tp timestamp)

系統會自動給tp賦予默認值current_timestamp(系統日期),但是mysql只給第一個timestamp設置默認值,如果有第二個timestamp類型,則默認值設置為0

字符串類型

1.char與varchar類型的區別:

char列最后的空格已經刪除,而varchar保留空格

四、MySQL中運算符

算術運算符

比較運算符,滿足返回1,否則返回0

邏輯運算符(布爾運算符)

位運算符

運算符優先級,大多情況下使用()進行操作

五、常用函數

字符串函數

數值函數

日期和時間函數

流程函數

其他函數

六、選擇合適的數據類型

char與varchar

在Innodb存儲引擎中,建議使用varchar類型。對于Innodb數據表,內部的行存儲格式沒有區分固定長度和可變長度列,因此固定長度列的性能不一定比不可變長度的性能好。

Text與blob

一般在保存少量字符串的時候,我們會選擇char或者varchar,而在保存較大文本的時候,通常會選擇使用text或者blob。兩者的區別:text只能保存字符數據,比如日志。blob能保存二進制數據,比如照片。

浮點數與定點數

在MySQL中,decimal或者(numberic)用來表示定點數

日期類型的選擇

date/time/datetime/timestamp

七、索引的設計和使用

索引概述

索引是數據庫中用來提高性能的最常用工具。在MySQL中,MyISAM與Innodb存儲引擎的表默認創建的都是Btree索引。

1.索引的創建

create table indexTest(
id int not null auto_increment,
memberid int not null,
createtime datetime not null default current_timestamp,
primary key (id)
)
alter table indextest add orderserial varchar(50) not null;
create unique index IX_orderserial on indexTest(orderserial);

insert into indextest (memberid,createtime,orderserial)values(112123,'2016-08-14','sz121213')
說明:上面創建一個表,其中定義orderserial為唯一索引。

語法:create [unique\fulltext\spatial] index index_name on tablename(columname)

2.設計索引的原則

1.最合適的索引列是出現在where子句中列,或連接子句中指定的列,而不是出現在select關鍵字后面的選擇列表的列

2.使用唯一索引,需要考慮列中某個值得分布,如果索引列種的基數越大,則索引的效果越好。舉個例子:訂單號就可以設置唯一索引,因為訂單號的不一樣。而對于rowstatus就無須了,因為rowstatus要么是有效要么是無效。這樣的篩選出的范圍還是很多,沒有意義

3.不要過度索引。因為所有也要占用額外的磁盤空間,如果一個索引很少使用,那么會不必要的減緩表的修改速度
顯示MySQL的執行計劃:explain 后面加mysql語句

八、視圖

視圖(View)

定義:視圖是一種虛擬存在的表,對于使用視圖的用戶來說基本上是透明的,視圖并不是在數據庫中實際存在。

優勢:

1.簡單,用戶完全不需要關心后面對應的表的結構/關聯條件和篩選條件。對用戶來說已經是過濾好的符合條件的結果集

2.安全,使用視圖的用戶只能訪問他們被允許查詢的結果集

3.數據獨立,一旦視圖的結構確定了,可以屏蔽表結構變化對用戶的影響,源表增加列對視圖沒有影響。

語法:

create or replace view index_view as
select * from indextest

1.創建create [or replace] view viewName as select ...

2.查詢 select * from 視圖名稱

3.展示視圖 show tables;

4.刪除視圖 drop view viewname

九、存儲過程和函數

一、存儲過程(store procedure)和函數

存儲過程和函數是事先經過編譯并存在數據庫中的一段SQL語句的集合,調用存儲過程和函數可以簡化應用開發人員的很多工作,減少數據在數據庫和應用服務器之間的傳輸,對于提高數據處理的效率是有好處的

語法:

create database finance;//創建finance數據庫
use finance;
create table orders(
orderId bigint not null auto_increment,
memberId int not null default 0,
serialNumber varchar(50) not null default '',
amount decimal(18,2) not null default 0,
createTime datetime not null default current_timestamp,
primary key (orderid)
)//創建orders訂單表
insert into orders (memberId,serialNumber,amount) values(6561121,'sz12234222',5),(233444,'ys1652233',10)//插入測試數據
delimiter 
create procedure orders_serial(in serial varchar(50))
reads sql data
begin
select * from orders
where serialNumber=serial;
end 

注釋:delimiter $$命令就是將語句的結束符從分號;修改成其他符號,這里指的是$$為結尾。這樣在number后面的分號就不會認為結束。

1.調用存儲過程

call orders_serial('sz12234222')

2.存儲過程的好處

邏輯封裝在數據庫端,調用者不需要了解中間的處理邏輯,一旦調用邏輯發生變化,只需要修改存儲過程即可,而對調用者的程序完全沒有影響。

3.刪除存儲過程

drop procedure if exists orders_serial
//if exists可選

4.查看存儲過程差狀態

show procedure status like 'orders_serial'

5.查詢存儲過程的定義

show create procedure orders_serial

二、存儲過程變量的使用

存儲過程可以使用變量,并且在MySQL5.1版本后,不區分大小寫

1.變量的定義

變量的作用域只能在begin...end塊中,可以嵌套在塊中

declare currentTime date;

2.變量的賦值

set currentTime=now();//直接賦值
select XX into currentTime from XX;//也可以通過sql語句進行賦值

3.定義條件和處理

declare handler_type handler for contidtion_value;

handler_type:

1.continue;
2.exit;
3.undo;

condition_value:

1.sqlstate
2.sqlwarning
3.not found
4.sqlexception

eg: declare continue handler for sqlstate '2' set @x=1;

三、光標的使用

在存儲過程和函數中,可以使用光標對結果集進行循環處理,光標的使用包含光標的聲明: open、fetch、close

定義:

declare cur_id cursor for select * from orders;
open cur_id;
fetch cur_id;
close cur_id;

四、事件調度器

事件調度器是MySQL5.1后面新增的功能,可以將數據庫按照自定義時間周期觸發某種操作。數據庫默認操作是關閉的。需要打開

create event x
on schedule
every 5 second
do
insert into orders (memberId,serialNumber,amount) values(6561121,'222',5)
set global event_scheduler =1//打開調度器
alter event x disable;//禁用事件調度器
drop event x;//刪除事件調度器

十、 觸發器

觸發器

觸發器是在5.02版本后支持的,觸發器是與表有關的數據庫對象,在滿足條件時觸發,并執行觸發器中定義的語句集合。可以協助應用在數據庫端確保數據的完整性

drop trigger orderlog
delimiter $
create trigger orderlog 
after insert on orders for each row
begin
insert into orderslog (content) values(new.serialNumber);
end 
insert into orders (memberId,serialNumber,amount) values(6561121,'sz12234222',5)

解釋:上面描述的是創建一個觸發器,當往訂單表中插入數據之后,在訂單日志表插入一條記錄。使用old和new來引用觸發器發生變化的記錄內容,目前只支出行級觸發,不支持語句級觸發

觸發器執行的順序

before insert\before update\after update

十一、 事務控制和鎖定語句

MySQL存儲引擎的事務說明

1.Lock Table與Unlock Table

語法:

use finance;
lock table orders read;
unlock table;

如果某個進程(session1)lock定了表,那么其他的進程(session2)可以查詢,但是不能進行更新操作,直到第一個進程釋放了鎖

2.事務控制

十二、總結

很高興您能閱讀到這里,可能在三十分鐘很難吸收這么多的知識,這篇文章也是我之前學習MySQL筆記整合的。這篇文章也是理論偏多,對于其中比較比較難理解知識點寫些Demo,權當個人理解,如有不足的地方,請您指出。如果對您有所幫助,請點個贊!

您可能感興趣的文章:
  • Mysql入門基礎 數據庫創建篇
  • mysql入門之1小時學會MySQL基礎
  • Mysql基礎入門 輕松學習Mysql命令
  • 20分鐘MySQL基礎入門
  • MySQL新手入門指南--快速參考
  • 21分鐘 MySQL 入門教程
  • 快速學習MySQL索引的入門超級教程
  • Mysql基礎知識點匯總
  • MySQL 視圖的基礎操作(五)
  • MySQL基礎快速入門知識總結(附思維導圖)

標簽:貴港 張掖 阜陽 酒泉 萍鄉 衡水 雞西 AXB

巨人網絡通訊聲明:本文標題《三十分鐘MySQL快速入門(圖解)》,本文關鍵詞  三,十分鐘,MySQL,快速,入門,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《三十分鐘MySQL快速入門(圖解)》相關的同類信息!
  • 本頁收集關于三十分鐘MySQL快速入門(圖解)的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    久久久精品天堂| 在线观看免费成人| 成人av在线资源网| 99久久精品久久久久久清纯| 国产福利91精品一区二区三区| 国产精品亚洲一区二区三区在线 | 精品国产乱码久久久久久老虎| 精品1区2区在线观看| 久久久久久9999| 青草av.久久免费一区| 国产精品国产精品国产专区不片| 亚洲欧美在线aaa| 久久久精品影视| 欧美丝袜自拍制服另类| 国产欧美中文在线| 韩国av一区二区| 欧美成人乱码一区二区三区| 亚洲欧美视频在线观看| 免费成人结看片| 日本韩国精品一区二区在线观看| 欧美日韩日日摸| 亚洲chinese男男1069| 在线观看网站黄不卡| 综合久久一区二区三区| 亚洲aaa精品| 波多野洁衣一区| 26uuu欧美| 欧美日韩黄视频| 亚洲国产视频一区二区| 91精品国产综合久久福利软件 | 国产精品大尺度| 国产成人免费视频精品含羞草妖精 | 久久久91精品国产一区二区精品| 国产一区二区三区高清播放| 国产午夜精品在线观看| 色激情天天射综合网| 美女一区二区视频| 日本一区二区三区视频视频| 国产mv日韩mv欧美| 麻豆精品一区二区av白丝在线| 久久精品一级爱片| 欧美在线短视频| 国产在线视频一区二区三区| 中文字幕亚洲电影| 欧美国产精品v| 欧美午夜免费电影| www.在线成人| 国产宾馆实践打屁股91| 亚洲三级视频在线观看| 欧美一级欧美三级在线观看 | 一区二区三国产精华液| 国产精品热久久久久夜色精品三区| 91麻豆精品国产91久久久久久| 日韩激情在线观看| 中文字幕中文字幕在线一区 | 欧美高清精品3d| 91传媒视频在线播放| 国产成人在线观看免费网站| 国内精品久久久久影院一蜜桃| 亚洲高清视频中文字幕| 日本一区二区视频在线| 久久精品在线观看| 国产色综合久久| 久久日韩粉嫩一区二区三区 | 国产一区二区三区蝌蚪| 国产精品一区久久久久| 国产一区二区三区精品视频| 久久99国产精品久久| 午夜天堂影视香蕉久久| 日本午夜精品一区二区三区电影| 一区二区三区在线免费播放| 国产精品成人在线观看| 玖玖九九国产精品| 狠狠色狠狠色综合日日91app| 播五月开心婷婷综合| 日本二三区不卡| 久久麻豆一区二区| 亚洲欧洲av色图| 国产永久精品大片wwwapp| 欧美午夜不卡视频| 欧美不卡一二三| 亚洲欧美国产77777| 蜜桃久久久久久| 久久久综合网站| 天天影视涩香欲综合网 | 6080日韩午夜伦伦午夜伦| 欧美日韩欧美一区二区| 成人免费在线观看入口| 日本视频一区二区三区| 欧美羞羞免费网站| 国产精品色噜噜| 九九精品视频在线看| 欧美在线观看你懂的| 欧美激情在线观看视频免费| 三级精品在线观看| 精品久久久三级丝袜| 首页亚洲欧美制服丝腿| 91最新地址在线播放| 91精品国产91综合久久蜜臀| 8v天堂国产在线一区二区| 九色porny丨国产精品| 精品sm捆绑视频| 成人性生交大合| 一区在线观看视频| 51精品国自产在线| 99精品国产热久久91蜜凸| 视频一区视频二区在线观看| 精品国一区二区三区| 欧美亚洲国产一区二区三区va| 国产一区二区三区四区在线观看| 精品美女在线播放| 宅男噜噜噜66一区二区66| www.一区二区| 波波电影院一区二区三区| 国产一区二区影院| 日韩精品一区第一页| 色综合中文字幕| 欧美综合在线视频| 欧美精品一区二区三区蜜桃视频| 中文字幕在线不卡| 国产a精品视频| 6080yy午夜一二三区久久| 国产欧美精品国产国产专区| 亚洲欧洲性图库| 91美女蜜桃在线| 无码av中文一区二区三区桃花岛| 欧美国产日韩一二三区| 精品捆绑美女sm三区| 欧美日韩精品福利| 国产麻豆日韩欧美久久| 风间由美性色一区二区三区| 粉嫩aⅴ一区二区三区四区 | 色综合中文字幕国产 | 欧美日韩中文国产| 国产网红主播福利一区二区| 亚洲少妇30p| 激情文学综合丁香| 精品久久久久一区二区国产| 国产精品久久久久永久免费观看 | 日韩一区国产二区欧美三区| 亚洲国产精品一区二区www在线 | 亚洲国产一区二区视频| 亚洲黄色免费电影| 欧美最新大片在线看| 国产精品午夜免费| 国产自产高清不卡| 欧美一区二区在线观看| 国产精品久久久久久久久免费丝袜 | 国产成人精品影视| 91麻豆精品国产91久久久久久久久| 国产精品国产三级国产有无不卡 | 久久精品日韩一区二区三区| 日韩精品91亚洲二区在线观看 | 另类小说色综合网站| 在线精品亚洲一区二区不卡| 国产亚洲欧美一级| 日本在线观看不卡视频| 色婷婷亚洲婷婷| 国产精品久久久久久久浪潮网站 | 91成人免费在线| 国产午夜三级一区二区三| 日韩va欧美va亚洲va久久| 欧美亚洲动漫制服丝袜| 亚洲人妖av一区二区| 91在线观看视频| 国产精品久久777777| 99久久精品久久久久久清纯| 中文字幕一区三区| 一区二区欧美在线观看| 日韩欧美国产午夜精品| 国内外成人在线| xnxx国产精品| 国产成人免费xxxxxxxx| 国产日韩影视精品| 成人午夜电影小说| 亚洲色图制服诱惑| 欧美日韩在线三区| 日韩激情av在线| 欧美国产激情一区二区三区蜜月| 高清免费成人av| 亚洲视频一区二区在线观看| 一本高清dvd不卡在线观看| 一区二区三区 在线观看视频| 久久久午夜精品| 91免费视频网址| 日韩va欧美va亚洲va久久| 欧美精品一区二区三区高清aⅴ| 91精品福利视频| 午夜精品成人在线视频| 久久色成人在线| 亚洲区小说区图片区qvod| 国模无码大尺度一区二区三区| 亚洲欧美视频在线观看视频| 国产日本亚洲高清| 精品国产91洋老外米糕| 678五月天丁香亚洲综合网| 精品国产三级a在线观看| 欧美一区二区观看视频| 欧美一区二区三区免费大片| 欧美日韩一卡二卡三卡|