**MySql基礎 篇1/共2篇 [史上最全重點,web基礎day02] *
阿新 • • 發佈:2018-12-20
今日內容:
1. mysql概述
2. sql概述
3. DDl
4. DML
MySql概述:
1. 記憶體和檔案的優缺點: * 記憶體:速度快,但是不能永久儲存,資料是臨時狀態。 * 檔案:資料可以永久儲存,操作資料不方便,查詢某個資料。 2. 資料庫優缺點: * 優點: 1. 資料可以永久儲存 2. 查詢速度快 3. 對資料的管理方便 * 缺點: 1. 佔用資源,需要購買。 2. 需要專門的軟體進行編寫,需要學習成本去使用它的語法和使用方式 3. 什麼是資料庫: 1.儲存資料的倉庫 2.本質上是一個檔案系統,還是以檔案的方式存在伺服器的電腦上的。 3.所有的關係型資料庫都可以使用通用的SQL語句進行管理DBMS DataBase Management System 4.為什麼選擇MySQL 1.免費 2.功能強大 5.MySQL目錄結構: bin<目錄>:所有mysql的可執行檔案,如:mysql.exe MySQLInstanceConfig.exe: 資料的配置嚮導,在安裝時出現的內容; date<目錄>:系統必須的資料庫所在的目錄。 my.ini檔案:mysql的配置檔案,一般不建議去修改。 6. 資料庫管理系統:指一種操作和管理資料庫的大型軟體,用於建立,使用和維護資料庫,對資料庫進行統一管理和控制,以保證資料庫的安全性和完整性。使用者通過資料庫管理系統各訪問資料庫表內的資料。 7. 結論: * 一個數據庫伺服器包含多個庫,一個數據庫包含多張表,一個表包含多條記錄
SQL概述
1.SQL:Structured Query Language 結構化查詢語言 2. SQL作用: 1.是一種所有關係型資料庫的查詢規範,不同的資料庫都支援。 2.通用的資料庫操作語言,可以用在不同的資料庫中。 3.不同的資料庫SQL語句有一些區別。 3. SQL語句分類: DDL:建庫,建表 DML:增刪改 DQL:對錶中的查詢操作 DCL:對使用者許可權的設定 4. MySQL語法: 每條語句以分號結尾,如果在SQLyog中不是必須加的。 SQL中不區分大小寫,關鍵字中認為大寫和小寫是一樣的。 3中註解: --空格 單行註釋 # 單行註釋(這個是mysql特有的註釋方式) /* */這是mysql特有的註釋方式
DDL:
1. DDL操作資料庫: 1. 建立資料庫: CREATE DATABASE 資料庫名; 2. 判斷資料庫是否已經存在,不存在則建立資料庫 : * CREATE DATABASE IF NOT EXISTS 資料庫名; 3. 建立資料庫並指定字符集: *CREATE DATABASE 資料庫名 CHARCTER SET 字符集; 4. 按tab可以自動補全關鍵字; 5. 修改資料庫預設的字符集: * alter database 資料庫名 default character set 字符集; 6. 將db3資料庫的字符集改成utf8 * alter database bd3 character set utf8; 7. 刪除資料庫的語法: * drop database 資料庫名; 8. 具體操作: * 每行SQL語句需要選中再執行,可以按F9 9. 檢視正在使用的資料庫: * select database(); 使用的一個mysql中的全域性函式 10. 使用/切換資料庫 * use 資料庫名; 2. DDL操作表結構: * 建立表的格式: create table 表名( 欄位名1 欄位型別1; ) 3. 新增資料:語法:insert into 表名(列名1,列名2...)values(值1,值2...); * 注意: 1. 列名和值要一一對應。 2. 如果表名後,不定義列名,則預設給所有列新增值。 * insert into 表名 values(值1,值2,值...); 3. 除了數字型別,其他型別需要使用引號(單雙都可以)引起來。 3. 刪除資料: * 語法: 1. delete from 表名 [where 條件] * 注意: 1. 如果不加條件,則刪除表中所有記錄。 2. 如果要刪除所有記錄 2. delete from 表名; --不推薦使用。有多少條記錄就會執行多少次操作。 3. truncate table 表名; --先刪除表,然後再建立一張一模一樣的表。 * 查詢表中的記錄: select * from 表名; 4.資料庫的基本概念: 1. DataBase 簡稱DB 2. 什麼是資料庫? 用於儲存和管理資料的倉庫。 3. 資料庫的特點: * 持久化儲存資料的。 其實資料庫就是一個檔案系統。 * 方便儲存和管理資料 * 使用了統一的方式操作資料庫。 --SQL 4. 常見的資料庫軟體:Oracle,MySQL,DB2,MySQLSEVER等。 5. MySQL軟體 相當於是服務端3306. 所以它必須開啟服務,才能被其他連線。 6. 配置: * MYSQL服務啟動: 1. 手動 2. cmd-->services.msc 開啟服務的視窗 3. 使用管理員開啟cmd 7. 開啟關閉服務 1. net start mysql :啟動mysql的服務。 2. net stop mysql :關閉mysql的服務。 8. MYSQL登入 1. mysql -uroot -p密碼 2. mysql -hip -p連線目標的密碼 (安裝資料庫要勾上遠端控制訪問才可以) 3. mysql --host=ip --user=root --password=連線目標的密碼 9. MYSQL的目錄結構: 1.MYSQL安裝目錄結構 配置檔案: my.ini 2.MYSQL資料目錄 幾個概念 資料庫---->資料夾 表 ---->檔案 資料 ----->資料 10. SQL是結構化查詢語言,定義了操作所有關係型資料庫的規則。 5. 三種註釋: 1. 單行註釋:-- 註釋內容(兩個橫槓一個空格) 2. # ---> mysql特由於的單行註釋 3. 多行註釋:/* */ 6. SQL通用語法: 1.SQL語句可以單行或多行書寫,以分號結尾。 (在mysql中可以自動加上;) 2.可使用空格和縮排來增強語句的可讀性。 3.MYSQL資料庫的SQL語句不區分大小寫,關鍵字建議使用大寫。 4.註釋 7. SQL分類: 1.DDL:資料定義語言:定義資料庫,表,列等:關鍵字:create,drop,alter等 2.DML:資料操作語言:用來對資料庫表中的資料進行增刪改。關鍵字:insert ,delete, update等 3.DQL:資料查詢語言,用來查詢資料庫中表的記錄(資料)。關鍵字:select,where等 4.DCL:資料控制語言:用來定義資料庫的訪問許可權和安全級別,及建立使用者。關鍵字:grant,revoke; 8. DDL:操作資料庫、表 1.操作資料庫:CRUD 1.C :create:建立 2.R :retrieve:查詢 查詢所有資料庫的名稱:show databases; 3.U :update:修改 4.D : delete:刪除 5.使用資料庫 9. 操作資料庫: 1. 建立: create database 資料庫名稱; * 建立資料庫,判斷不存在,再建立: create database if not exists 資料庫名稱; * 建立資料庫,並制定字符集: create datebase 資料庫名稱 character set 字符集名; 2. 查詢: * 查詢所有資料庫的名稱: show databases; * 查詢某個資料庫的字符集:查詢某個資料庫的建立語句 show create database 資料庫名稱; 3. 修改: * 修改資料庫字符集名稱: alter database 資料庫名稱 character set 字符集名稱; 4. 使用: * use 資料庫名稱; 10. 查詢表:R(Retrieve)查詢 查詢所有表:show tables; 查看錶結構:desc haha; 11. 建立表: C(create):建立 1.語法: create table表名 ( 列名1 資料型別, 列名2 資料型別2, ... 列名n 資料型別n ); * 注意:最後一列,不需要加“,”號; 12. 資料庫型別: 1. int:整數型別 *age int, 2. double:小數型別 *score double(5,2), ->說明總長度5位,保留兩位小數。 3. date:日期,只包含年月日,yyyy-MM-dd 4. datetime:日期,包含年月日時分秒 yyyy-MM-dd HH:mm:ss 5. timestamp:時間錯型別 包含年月日時分秒 yyyy-MM-dd HH:mm:ss 6. varchar:字串 * name varchar(20):姓名最大20個字元 7. 建立表: create table student( id int, name varchar(32), age int, score double(4,1); ); * 大型資料可以儲存在CLOB裡面,二進位制型別可以儲存圖片; 13. 修改,新增,刪除: 1. 修改U(Update): 1.修改表名 alter table 表名 【rename to 新的表名;】 2.修改表的字符集 alter table 表名 【character set 字符集名稱;】 2. 新增: * 新增一列:* alter table 表名 【add 列名 資料型別;】 3. 修改列名稱 型別 * alter table 表名 【change 列名 新列名 新資料型別】 5. 刪除列:alter table 表名 【drop 列名】; 6. D(Delete):刪除 1. drop table 表名; 2. drop table if exists 表名;
DML
1. DML:增刪改表中的資料:
1. 新增資料:
* 語法: insert into 表名(列名1,列名2,...列名n)values(值1,值2,...值n);
* 注意:
1. 列名和值要一一對應。
2. 如果表名後,不定義列名,則預設給所有列新增值。
insert into 表名 values (值1,值2,...值n);
2. 刪除資料:
* 語法:delete from 表名[where 條件]
* 注意:
1. 如果不加條件,則刪除表中所有記錄。
2. 如果要刪除所有記錄:
* 示例:
1. delete from 表名; -- 不推薦使用。有多少條記錄就會執行多少次。
2. truncate table 表名; #推薦使用,效率更高,先刪除表,然後再建立一張一模一樣的表。
3. 修改資料:
* 語法:update 表名 set 列名1=值1,列名2=值2,...[where 條件];
* 注意:1.如果不加任何條件,則會將表中所有記錄全部修改。
* DQL:查詢表中的記錄
* 語法: slect * from表名
"*"代表所有欄位
1.基本查詢:
select 欄位名1,欄位名2...from 表名;
4. distinct 去重複;
1. 語法:
select 欄位列表
from 表名列表
where 條件列表
group by 分組欄位
having 分組之後的條件
order by 排序
limit 分頁限定
2. 基礎查詢:
1.多個欄位的查詢:
select 欄位名1, 欄位名2...from 表名;
* 注意:如果查詢所有欄位,則可以使用*
3. 等號是精確查詢。****基礎加強:反射,註解,測試 [史上最全重點,web基礎day01] ***