(1)-uroot -p 或者mysql -uroot :連接數據庫
(2) mysql select? version();? :查看安裝mysql的版本號status:查看安裝mysql的版本號
(3) show? databases;? :查看當前用戶下的數據庫。
(4) create? database 數據庫名;? :創建數據庫
(5) drop? database數據庫名;? :刪除數據庫
(6) select? database();? ? :查看當前數據庫
(7) use? 數據庫名;? ? :使用當前數據庫Database changed
(8) create? table表格名(id int,name varchar(10),sex char(10),salary decimal(6,2 )) table? 表格名;? 在當前數據庫創建表格
(9) decimal(6,2 )6為有效長度 2為小數個數
(10) drop table 表格名;? ? ? 刪除在當前數據庫創建表格
(11) show? tables;? :查看當前用戶下的數據庫。
(12) desc? 表格名;? ? 在當前數據庫創建表格的格式
(13) insert 表格名values(相應的字段名 字段值,字段名 字段值);在表格中插入內容(有序的)
(14) insert? 表格名(字段名,字段名) values(字段值字段值);在表格中插入內容(無序序的)
(15) insert 表明 values(字段值,字段值),( 字段值,字段值); 在表格中插入內容
(16) select? *? from? 表格名;? 查看表格內容
(17) select? *? from? 表格名 where 字段名=字段值;? 按條件查看表格內容
(18) select? *? from? 表格名 where 字段名=字段值 and? 字段名=字段值;? 按多個條件查看表格內容用and鏈接
(19) select? 字段名,字段名 from 表格名 ;? ? 按多個條件查看表格內容
(20)
(21) select? 字段名,字段名 from 表格名 where字段名=(》)字段值? ? 按多個條件查看表格內容
(22) delete from 表格名 where字段名=字段值;? 刪除某一條記錄(根據where值來判斷)
(23) delete from 表格名 where字段名=字段值 and 字段名=字段值;? 刪除多條記錄用and鏈接
(24) delete from 表格名;? 清楚所有內容(只刪除表格記錄delete但表格還在,,,drop刪除表格(格式,記錄))
(25) update 表格名 set 字段名=字段值(改后的) where字段名=字段值(原來的);改一條記錄
(26) update 表格名 set 字段名=字段值,字段名=字段值(改后的) where字段名=字段值(原來的)(一個與其他不同的);改一條記錄
(27) update 表格名 set 字段名=字段值(改后的) where字段名=字段值(原來的);改一條記錄
(28) update? 表格名 set字段名=字段值(新改的); 把所有字段名改為這個字段值
(29) delete? from 表格名 wher e 字段名 is 字段值(null)
(30) alter? table 表格名 add? column? 字段名? 格式(int? ,char(10))添加列
(31) alter table 表格名 drop? column? 字段名;刪除列
(32) alter? table? 表格名 change? id(old原來的)? num(now新的字段名)? int;修改列明和數據類型
(33) alter? table? 表格名 change? num? num? decimal(10,1);修改列數據類型
(34) alter? table? 表格名 rename 表格名2;改表名? 修改表名
(35) create? table? 復制后的表格名 select * from 原來的表格名;? 復制表格
primary? key 主鍵約束(唯一,)不可以為空null
auto_increment(自增長)
unique? 唯一約束? 可以為空null
not? null? 非空值
datetime 修飾類型(int char)
外鍵? foreign? key (當前表(子表)的字段值) references? dept (父表的字段值);
{必須先創建外鍵關系表(父表)。? 【 外 鍵 】
想在當前的表(子表)中插入記錄,必須先在父表中先插入記錄,后在子表中插入。刪除記錄要先刪除子表,在刪除父表}
(36) count(字段名)? 統計值的個數? select count(字段值) from 表格名;(對空值不統計)
(37) max(字段名);? 字段名下所有值的最大值
(38) min(字段名);? 字段名下所有值的最小值
(39) vag(字段名);? 字段名下所有值得平均值
(40) Sum(字段名);? 字段名下所有值得和
(41) Select? count(字段名) from 表名 group? by? dep;把字段名分組 字段值相同的是一組
(42) Select 字段名,count(字段名(根據什么條件篩選)) from 表格名 group by 字段名(根據什么分組) having? count(字段值)>數值;
(43) Select? distinct? 字段名? from? 表名;? 去重復的字段值
(44) order? by 排序 默認升序(select empname,salary from? empty? order? by? salary? desc;)
(45) Select * from 表格名 order? by 字段值 asc;升序排練
(46) Select * from 表格名 order? by 字段值 desc;降序排練
(47) Select * from 表格名 limit 頁數,每頁的個數;{頁數從0開始(頁數-1)*2} 查找一個頁的內容
(48) Select? empname ,emp.deptno,deptno? from? emp? join? on? emp.deptno= dept.deptno;? 內連接? 只有匹配上的記錄才輸出
(49) Select enpname,emp.deptno,dept.deptno,deptname? from? emp? left? join? dept? on? emp.deptno= dept.deptno;? 左內連接? ? ? ? ? 用? emp主表主表中所有的記錄都輸出? 匹配不上的null補齊
(50) Select empname,emp.deptno,dept.deptno,deptname? from? emp? rigth? join? dept? on? emp.deptno= dept.deptno;? 右內連接? ? ? ? ? 用? emp主表主表中所有的記錄都輸出? 匹配不上的null補齊
(51) 查詢語句的執行語句? ? from?on?join?where?group?by?having?select?distinct?order by?limit
(52) select empname,empno from emp where empname like 'zhang%';? 模糊查詢? like %任意字符
(53) select empname,deptno from emp where deptno in (1002,1003);? int(值,值,值。。。)中任意一個
(54)數據庫備份
進入cmd
導出所有數據庫:輸入:mysqldump -u [數據庫用戶名] -p -A>[備份文件的保存路徑]
導出數據和數據結構:輸入:mysqldump -u [數據庫用戶名] -p [要備份的數據庫名稱]>[備份文件的保存路徑]
例子:mysqldump -u root -p test>d:\test.sql
注意:此備份只備份數據和數據結構,沒有備份存儲過程和觸發器
導出數據庫中的Events
輸入:mysqldump -u [數據庫用戶名] -p -E [數據庫用戶名]>[備份文件的保存路徑]
導出數據庫中的存儲過程和函數
mysqldump -u [數據庫用戶名] -p -R [數據庫用戶名]>[備份文件的保存路徑]
恢復備份文件:
進入MYSQL Command Line Client
先創建數據庫:create database test 注:test是創建數據庫的名稱
再切換到當前數據庫:use test
再輸入:\. d:/test.sql 或 souce d:/test.sql