MySql常用數(shù)據(jù)類型與操作詳解
常用數(shù)據(jù)類型
1、int:整形
2、double(m,d)
decimal(m,d):浮點數(shù)類型 (m指定長度,d表示小數(shù)點位數(shù))
3、varchar(size):字符串類型
4、timestamp:日期類型
數(shù)據(jù)庫基本操作
不管執(zhí)行什么語句,都要在語句的最后加上;(分號)。
1、創(chuàng)建數(shù)據(jù)庫
create database 數(shù)據(jù)庫名;
2、顯示當前數(shù)據(jù)庫
show databases;
3、刪除數(shù)據(jù)庫
drop database 數(shù)據(jù)庫名;
4、使用數(shù)據(jù)庫
use 數(shù)據(jù)庫名;
5、創(chuàng)建表
create table 表名;
6、查看表結(jié)構(gòu)
desc 表名;
7、插入數(shù)據(jù)
insert into 表名 values(對照列的類型寫入);
8、查找語句
全列查找
select * from 表名;
指定列查詢
select 列名,列名…… from 表名;
指定查詢字段為表達式(在查詢時,同時進行一些運算)
select 列名+(-*/)列名 from 表名;
查詢字段指定別名
select 列名…… as 別名 from 表名;
針對查詢結(jié)果去重
select distinct 列名 from 表名;
針對查詢結(jié)果進行排序
select * from 表名 order by 列名 asc/desc;//升序/降序
分頁查詢
select * from 表名 limit n;// 從0開始,篩選n條結(jié)果 select * from 表名 limit n offset s;//從s開始,篩選n條結(jié)果
條件查詢
select 列名 from 表名 where 條件;
常用運算符:
and,or,not 與或非 (and優(yōu)先級比or高)
>,>=,<,<= 大于,大于等于……
= 比較相等,不比較NULL
<=>比較相等,比較NULL
!=,<> 不等于
between a and b 范圍匹配,在閉區(qū)間 [a,b]范圍內(nèi)
in (option, ...) 如果是 option 中的任意一個,返回 TRUE(1)
is NULL 是 NULL
is not NULL 不是 NULL
like 模糊匹配,% 表示任意多個(包括 0 個)任意字符;_ 表示任意一個字符
以上查找的結(jié)果都是一個"臨時表",數(shù)據(jù)庫的表都是在硬盤上的,而此處的這個查詢結(jié)果臨時表,不是在硬盤上,而是在內(nèi)存中,隨著進行了輸出之后,數(shù)據(jù)也就被釋放了。所以上面操作都是對臨時表操作,對原始數(shù)據(jù)不會產(chǎn)生影響。
當用戶輸入sql之后,客戶端就會把這個sql包裝成網(wǎng)絡(luò)請求,發(fā)給服務(wù)器,服務(wù)器這邊收到請求之后,就會操作硬盤,從硬盤中讀取數(shù)據(jù)把數(shù)據(jù)包裝成響應(yīng)??蛻舳耸盏竭@個響應(yīng)數(shù)據(jù)之后,就會臨時的在內(nèi)存中把這個響應(yīng)結(jié)果保存起來并且在顯示器上輸出(標準輸出上打印)隨著打印完畢,在客戶端內(nèi)存中保存的結(jié)果數(shù)據(jù)也就被釋放了。
9、修改語句
update 表名 set 列名=值…… where 條件;
10、刪除語句
delete from 表名 where 條件;
這里修改的是原始數(shù)據(jù)。
舉例說明:
創(chuàng)建數(shù)據(jù)庫:

顯示當前數(shù)據(jù)庫:

創(chuàng)建名為student的表(需要操作數(shù)據(jù)庫中的表時,需要先使用該數(shù)據(jù)庫):

查看表結(jié)構(gòu):

插入并查看:

insert進行插入的時候,可以只插入其中的某一列或者某幾個列的. 此時其他的列將采用默認值

可一次性插入多列,用(),隔開

如果某一種類型是datetime,可以用以下三種方式插入

查找:
指定列查找

指定查詢字段為表達式

查詢字段指定別名

針對查詢結(jié)果去重

針對查詢結(jié)果進行排序
升序

降序

如果有NULL值,默認NULL值為最小值

條件查詢

% 匹配任意多個(包括 0 個)字符 ,可以匹配到任意張開頭的名字

_ 匹配嚴格的一個任意字符 ,一個_能匹配到一個字符。

分頁查詢



查詢前三名的成績

修改:
把張三語文成績改為80

把所有人語文成績進行修改

將總分前三的每個人語文成績加上10

刪除:

約束類型
1、not null--- 指示某列不能存儲 NULL 值。

2、unique---保證某列的每行必須有唯一的值。

3、default---規(guī)定沒有給列賦值時的默認值。

指定默認值后,沒有給該列賦值時,該列默認值為指定默認值。

4、primary key(最重要的約束)not null 和 unique 的結(jié)合。確保某列(或兩個列多個列的結(jié)合)有有唯一標識,有助于更容易更快速地找到表中的一個特定的記錄。 主鍵約束,相當于數(shù)據(jù)的唯一標識。對于一個表來說,只能有一個列被指定為主鍵。

自增主鍵 primary key auto_increment,當設(shè)定好自增主鍵之后,此時插入的記錄,就可以不指定自增主鍵的值了(直接使用null來表示) ,交給mysql自行分配即可。

5、foreign key ---保證一個表中的數(shù)據(jù)匹配另一個表中的值的參照完整性。
也稱外鍵約束,描述的是兩張表的兩個列之間的"依賴關(guān)系”子表依賴于父表(子表引用自父表)要求子表中對應(yīng)的記錄得在父表中存在。
舉個例子:創(chuàng)建一個班級表和學(xué)生表如下,每個學(xué)生都要都屬于一個具體的班級,這個班級首先得存在,這里學(xué)生表依賴班級表,就把學(xué)生表稱為”子表“,班級表稱為”父表“。

這種情況就可以用外鍵約束來描述。

外鍵約束,描述的是兩張表的兩個列之間的"依賴關(guān)系",子表依賴于父表(子表引用自父表)要求子表中對應(yīng)的記錄得在父表中存在,班級表中的班級只有1,2,3,此時我在子表學(xué)生表中插入一個班級為10,就會出現(xiàn)錯誤,插入失敗。

插入班級表中有的班級就能插入成功。

外鍵約束也同樣在約束父表,當父表中的某個記錄被子表依賴的時候,此時嘗試刪除修改都會失敗。

到此這篇關(guān)于MySql常用數(shù)據(jù)類型與操作詳解的文章就介紹到這了,更多相關(guān)MySql常用數(shù)據(jù)類型內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
MySQL數(shù)據(jù)備份之mysqldump的使用詳解
下面小編就為大家?guī)硪黄狹ySQL數(shù)據(jù)備份之mysqldump的使用詳解。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-11-11

