3.記錄、字段的操作
????????查詢表中所有記錄:
????????????????select*from表名;
????????*表示所有字段(列)
????????????????????添加記錄:
????????????????????????向所有字段添加數(shù)據(jù)
????????????????????????????????????????insertinto表名values(值1, 值2, 值3, ...);
????????????????????????向指定字段添加數(shù)據(jù)
????????????????????????????????????????insertinto表名 (字段1,字段2,...)values(值1,值2,...);
????????????????????????批量添加(所有字段)
????????????????????????????????????????insertinto表名values(值1, 值2, 值3, ...),(值1, 值2, 值3, ...),...;
????????????????????????批量添加(指定字段)
????????????????????????????????????????insertinto表名 (字段1,字段2,...)values(值1,值2,...),(值1,值2,...),...;
????????????????刪除記錄:
????????????????????????刪除表中所有記錄
????????????????????????????????????????deletefrom表名;
????????????????????????刪除表中所有記錄
????????????????????????????????????????truncatetable表名;
????????????????????????根據(jù)條件刪除指定記錄
????????????????????????????????????????deletefrom表名where條件;
????????????????修改記錄:
????????????????????????根據(jù)條件修改指定記錄
????????????????????????????????????????????update表名set字段名1 = 字段值1,字段名2 = 字段值2,...where條件;
????????????????????????修改所有記錄
????????????????????????????????????????????update表名set字段名1 = 字段值1,字段名2 = 字段值2,...;
? ??????????注:
? ??????????????????添加記錄時,值的列數(shù)必須與字段列數(shù)必須一致
? ??????????????????添加記錄時,值的類型必須與字段類型一致
? ??????????????????除了數(shù)值類型,其他類型的值必須使用單/雙引號括起來
? ??????????????????"delete from 表名" 該語句在刪除時是將表中數(shù)據(jù)逐行刪除,指的是表中有多少條記錄,就會執(zhí)行所少次delete動作;"truncate table 表名" 該語句在刪除時是先將整個表刪除,再構(gòu)建一個結(jié)構(gòu)一樣的空表。
2.4 數(shù)據(jù)類型
????????2.4.1 數(shù)值類型
????????????????int:整數(shù)類型
????????????????double:小數(shù)類型
????????????????????????例如:salary double(n,m)
????????????????????????????n:表示該字段值整數(shù)部分小數(shù)部分最多有n位
????????????????????????????m:表示該字段小數(shù)部分最多保留m位
????????????????????????salary double(6 ,? 2):此時該salary的最大值是9999.99
????????2.4.2 日期和時間類型
????????????????datetime:包含年月日時分秒 格式:YYYY-MM-DD HH:MM:SS
????????????????timestamp:時間戳類型 包含年月日時分秒 格式:YYYY-MM-DD HH:MM:SS
? ??注:
? ??????????????1.? 如果某字段的類型是timestamp,而我們不給它賦值或者給它賦值為null,那么系統(tǒng)會給它一個默認值(當前時間)
? ??????????????????timestamp不能為空
? ??????????????????設(shè)置時分秒前必須先設(shè)置年月日
? ??????????????????時間值需要根據(jù)指定格式進行設(shè)置
2.4.3 字符串類型
????????varchar:
????????????????????例如:name varchar(20):表示姓名字段的值最大20個字符
????????????????????注:數(shù)字、字母、漢字都占1個字符
2.5 查詢
????????2.5.1 基礎(chǔ)查詢
????????????????查詢?nèi)?/p>
????????????????????????????select*from表名;
????????????????根據(jù)指定字段查詢
????????????????????????????select字段名1,字段名2,...from表名;
????????????????去重查詢
????????????????????????????selectd? istinct字段名from表名;
????????????????????????????????????例如:對班級去重
????????????????????????????????????????????????????select? distinct? class? ?from? ?student;
????????2.5.2 條件查詢
????????????????????在where關(guān)鍵字后跟上條件,查詢時根據(jù)條件進行篩選
????????????????????????邏輯運算符
????????????????????????????????and、or、not
????????????????????????????????&&、||、!
????????????????????????關(guān)系運算符
????????????????????????????????大于、大于等于、小于、小于等于、等于(=)、不等于(!=、<>)
? ? ? ? ? ? ? ? ? ? 例如:查詢"帥哥班"以外的班級中成績超過80的同學
????????????????????????????select????*? ????from? student? where? score >80 and? class? !='帥哥班'
????????????指定范圍之內(nèi)
????????????????????between? ... and ...
????????????在指定列表中
????????????????????in (值1,值2,值3,...)
????????????不在指定列表中 not in
????????????空和非空
????????????????????判斷為空 is null
????????????????????判斷不為空 is not null
????????模糊查詢
????????????????????like
????????占位符:
????????????????????_:單個任意字符
????????????????????%:任意個任意字符
????????????????????????????例如:查詢姓“盧”,單名一個字的同學
????????????????????????????????select????*????from????student????where????name????like????'盧_';
???????????????????????????例如:查詢名字中含“豬”的同學
????????????????????????????????select????*????from????student????where????name????like????'%豬%';