MySQL的存儲引擎:存儲引擎有不少,這裏只介紹MyISAM和InnoDB安全
- MyISAM和InnoDB的區別
- MyISAM:不須要事物,空間小,以查詢訪問爲主
- InnoDB:多刪除、更新操做,安全性高,事務處理及併發控制
查看當前默認存儲引擎併發
- SHOW AVRIABLES LIKE 'storage_engine%';
設置表的搜索引擎函數
- 語法:CREATE TABLE 表名(#省略代碼)ENGINE=存儲引擎;
- 例:CREATE TABLE `myisam` (id INT(4))ENGINE=MyISAM;
DML語句--插入單條數據記錄搜索引擎
- 語法:INSERT INTO 表名 [(字段名列表)] VALUES (值列表);
- 例:INSERT INTO `student`(`loginPwd`,`studentName`,`gradeId`,`phone`,`bornDate`)
- VALUES('123','黃小平',1,'13956799999','1996-5-8');
- 注意:字段名是可選的,如省略則依次插入全部字段
- 多個列表和多個值之間使用逗號分隔
- 值列表和字段名列表一一對應
- 如插入的是表中部分數據,字段名列表必填
DML語句--插入多條數據記錄spa
- 語法:INSERT INTO 新表(字段名列表)VALUES(值列表1),(值列表2),……,(值列表n);
- 例:INSERT INTO `subject`(`subjectName`,`classHour`,`gradeID`)
- VALUES('Logic Java',220,1),('HTML',160,1),('Java OOP',230,2);
- 注意:爲避免表結構發生變化引起的錯誤,建議插入數據時寫明具體字段名!
DML語句——將查詢結果插入新表排序
- 語法:CREATE TABLE 新表(SELECT 字段1,字段2…… FROM 原表);
- 例:CREATE TABLE `phoneList`(SELECT `studentName`,`phone`FROM `student`);
- 語義:建立一個名爲phonelist的表,(從student查詢studentName,phone);
更新數據記錄索引
- 語法:UPDATE 表名SET 字段1=值1,字段2=值2,…,字段n=值n[WHERE 條件];
- 例:UPDATE student SET sex = ‘女’;
- WHERE address = ‘北京女子職業技術學校刺繡班’;
- 注:where起匹配做用,只有知足where條件的數據纔會被更新,不寫where條件會將全部數據更新
刪除數據記錄事務
- DELETE FROM 表名 [WHERE條件];
- TRUNCATE TABLE 表名;(注:TRUNCATE語句刪除後將重置自增列,表結構及其字段、約束、索引保持不變,執行速度比DELETE語句快)
- 例:DELETE FROM student WHERE studentName = ‘王寶寶’;
- TRUNCATE TABLE student;
查詢語法字符串
查詢所有的行和列數學
- 語法:SELECT * FROM `student`;
查詢部分列
- SELECT <列名|表達式|函數|常量>
- FROM <表名>
- [WHERE <查詢條件表達式>]
- [ORDER BY <排序的列名>[ASC或DESC]];注:DESC是倒敘
- 例:
- SELECT `studentNo`,`studentName`,`phone`,`address`,`bornDate`
- FROM `student`
- WHERE `gradeId` = 1
- ORDER BY `studentNo`;
數據查詢-列別名
- SELECT `studentNo` AS 學生編號,`studentName` AS 學生姓名,
- `address `AS 學生地址
- FROM `student`
- WHERE `address` <> '河南新鄉‘;注:AS起命名做用,或者叫起別名
查詢空行
- 例:SELECT `studentName` FROM `student` WHERE `email` IS NULL;
經常使用函數——聚合函數
經常使用函數——字符串函數
經常使用函數——時間日期函數
經常使用函數——數學函數