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、查看表結構
desc 表名;
7、插入數(shù)據(jù)
insert into 表名 values(對照列的類型寫入);
8、查找語句
全列查找
select * from 表名;
指定列查詢
select 列名,列名…… from 表名;
指定查詢字段為表達式(在查詢時,同時進行一些運算)
select 列名+(-*/)列名 from 表名;
查詢字段指定別名
select 列名…… as 別名 from 表名;
針對查詢結果去重
select distinct 列名 from 表名;
針對查詢結果進行排序
select * from 表名 order by 列名 asc/desc;//升序/降序
分頁查詢
select * from 表名 limit n;// 從0開始,篩選n條結果 select * from 表名 limit n offset s;//從s開始,篩選n條結果
條件查詢
select 列名 from 表名 where 條件;
常用運算符:
and,or,not 與或非 (and優(yōu)先級比or高)
>,>=,<,<= 大于,大于等于……
= 比較相等,不比較NULL
<=>比較相等,比較NULL
!=,<> 不等于
between a and b 范圍匹配,在閉區(qū)間 [a,b]范圍內
in (option, ...) 如果是 option 中的任意一個,返回 TRUE(1)
is NULL 是 NULL
is not NULL 不是 NULL
like 模糊匹配,% 表示任意多個(包括 0 個)任意字符;_ 表示任意一個字符
以上查找的結果都是一個"臨時表",數(shù)據(jù)庫的表都是在硬盤上的,而此處的這個查詢結果臨時表,不是在硬盤上,而是在內存中,隨著進行了輸出之后,數(shù)據(jù)也就被釋放了。所以上面操作都是對臨時表操作,對原始數(shù)據(jù)不會產生影響。
當用戶輸入sql之后,客戶端就會把這個sql包裝成網(wǎng)絡請求,發(fā)給服務器,服務器這邊收到請求之后,就會操作硬盤,從硬盤中讀取數(shù)據(jù)把數(shù)據(jù)包裝成響應。客戶端收到這個響應數(shù)據(jù)之后,就會臨時的在內存中把這個響應結果保存起來并且在顯示器上輸出(標準輸出上打印)隨著打印完畢,在客戶端內存中保存的結果數(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ù)庫):
查看表結構:
插入并查看:
insert進行插入的時候,可以只插入其中的某一列或者某幾個列的. 此時其他的列將采用默認值
可一次性插入多列,用(),隔開
如果某一種類型是datetime,可以用以下三種方式插入
查找:
指定列查找
指定查詢字段為表達式
查詢字段指定別名
針對查詢結果去重
針對查詢結果進行排序
升序
降序
如果有NULL值,默認NULL值為最小值
條件查詢
% 匹配任意多個(包括 0 個)字符 ,可以匹配到任意張開頭的名字
_ 匹配嚴格的一個任意字符 ,一個_能匹配到一個字符。
分頁查詢
查詢前三名的成績
修改:
把張三語文成績改為80
把所有人語文成績進行修改
將總分前三的每個人語文成績加上10
刪除:
約束類型
1、not null--- 指示某列不能存儲 NULL 值。
2、unique---保證某列的每行必須有唯一的值。
3、default---規(guī)定沒有給列賦值時的默認值。
指定默認值后,沒有給該列賦值時,該列默認值為指定默認值。
4、primary key(最重要的約束)not null 和 unique 的結合。確保某列(或兩個列多個列的結合)有有唯一標識,有助于更容易更快速地找到表中的一個特定的記錄。 主鍵約束,相當于數(shù)據(jù)的唯一標識。對于一個表來說,只能有一個列被指定為主鍵。
自增主鍵 primary key auto_increment,當設定好自增主鍵之后,此時插入的記錄,就可以不指定自增主鍵的值了(直接使用null來表示) ,交給mysql自行分配即可。
5、foreign key ---保證一個表中的數(shù)據(jù)匹配另一個表中的值的參照完整性。
也稱外鍵約束,描述的是兩張表的兩個列之間的"依賴關系”子表依賴于父表(子表引用自父表)要求子表中對應的記錄得在父表中存在。
舉個例子:創(chuàng)建一個班級表和學生表如下,每個學生都要都屬于一個具體的班級,這個班級首先得存在,這里學生表依賴班級表,就把學生表稱為”子表“,班級表稱為”父表“。
這種情況就可以用外鍵約束來描述。
外鍵約束,描述的是兩張表的兩個列之間的"依賴關系",子表依賴于父表(子表引用自父表)要求子表中對應的記錄得在父表中存在,班級表中的班級只有1,2,3,此時我在子表學生表中插入一個班級為10,就會出現(xiàn)錯誤,插入失敗。
插入班級表中有的班級就能插入成功。
外鍵約束也同樣在約束父表,當父表中的某個記錄被子表依賴的時候,此時嘗試刪除修改都會失敗。
到此這篇關于MySql常用數(shù)據(jù)類型與操作詳解的文章就介紹到這了,更多相關MySql常用數(shù)據(jù)類型內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
MySQL數(shù)據(jù)備份之mysqldump的使用詳解
下面小編就為大家?guī)硪黄狹ySQL數(shù)據(jù)備份之mysqldump的使用詳解。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-11-11