---------終端外部操作----------
#啟動服務
net start mysql
#停止服務
net stop mysql
#登入本地用戶
mysql -u root -p
ip 127.0.0.1 = 本地
mysql -u root -p -P3306 -h 127.0.0.1
-----------------------------mysql內部操作---------
#務必善用快捷鍵ctrl+f 快速查找關鍵字
對應表
+------+-----------+--------------+------+--------------+
| id | name | note | sal | dpt |
+------+-----------+--------------+------+--------------+
| 1 | 吳老師 | 盡量說 | 5000 | 伴白臉部 |
| 2 | 王老師 | 不要講話 | 4000 | 伴白臉部 |
| 3 | 安老 | 嘿嘿 | 2000 | 討債部 |
| 4 | 育老師 | 各位 | 3200 | 伴白臉部 |
| 5 | NULL | 沒有人 | 0 | 伴白臉部 |
| 3 | 胖老師 | 好吃 | 1000 | 討債部 |
| 6 | d_老大 | fuck | 200 | 討債部 |
+------+-----------+--------------+------+--------------+
#版本號查詢
select version();
#創建數據庫 加入character set gbk 設置編碼類型,不加則默認utf-8
create database "mysql_2_2" character set gbk
#查詢所有數據庫 ,查看以創建的某一個數據庫
show databases; , show create database 名子
#修改庫編碼
show create database "mysql_2_2";
#刪除庫
drop database " "
#進入
use "mysql_2";
#查找當前所在位置
select database();
#創建數據表
#字段名,字段類型,約束 date=日期
create table user(
uid int,
username varchar(32),
password varchar(32),
birthday date,
sex enum('男','女')
);
#顯示當前數據庫中的所有數據表
show tables;
#查詢某張表的表結構
show colums from "表名";
desc "表名"
#修改表名
alter table user rename "us";
rename table "us" to "user";
#在user 表中 添加 名為:sal ,double 類型,並且添加在password行後面
alter table user add sal double after password;
#user表中添加phone在最尾部 //在尾部添加first表示在第一位添加
alter table user add phone varchar(32);
#user表中 對sex的類型進行修改成 varchar類型//在尾部添加first表示在第一位添加
alter table user modify sex varchar(32);
#在user表中修改hobby列名為address 定義類型//同上
alter table user change hobby address varchar(20) ;
#刪除列
alter table user drop phone;
#在teacher中對(id,note)插入值valuse
insert into teacher (id,note) values ('1','試試');
#查詢表中所有對應值
select * from teacher;
#直接插入值不需要輸入對應項目
insert into teacher value (2,'王老師','不要講話');
#刪除在表明teacher中 列名id 且值為1的列
delete from teacher where id=1;
#不帶條件表示刪除表中所有數據紀錄(紀錄不清空)
delete from teacher;
#清空所有包含數據紀錄
truncate table teacher;
#修改紀錄 判斷id=2的對象進行修改,不帶條件表示全數修改
update teacher set name= '吳老師',note='盡量說' where id =2;
#判斷id >2的對象有誰
select *from teacher where id>2;
#判斷不為空的對象
select *from teacher where name is not null;
#判斷id 與名子
select *from teacher where id=3 and name='胖老師';
#查詢sal= 2000到10000區間的對象
select * from teacher where sal between 2000 and 10000;
#查詢種類為name 的值模糊判斷具有關鍵字師的值
select *from teacher where name like '%師%';
#判斷 name字符長度, 下滑線 的數量’_’ 表示幾個
select *from teacher where name like '__'
#匹配第一位字符後面可略
select * from teacher where name like '王%';
#查詢name種類 使用轉譯字符\ , 匹配帶有下滑線’_ '的值
select * from teacher where name like '%\_%';
#使用group對種類dpt進行分組 需替換*
select dpt from teacher group by dpt;
>>>
+--------------+
| dpt |
+--------------+
| 伴白臉部 |
| 討債部 |
+--------------+
#首先用group對dpt進行分組,然後使用avg對每一組的sal進行總和在求平均值
select dpt,avg(sal) from teacher group by dpt;
>>>
+--------------+--------------------+
| dpt | avg(sal) |
+--------------+--------------------+
| 伴白臉部 | 3050 |
| 討債部 | 1066.6666666666667 |
+--------------+--------------------+
#判斷dpt分組中的sal 平均值大於2000的dpt
select dpt,avg(sal) from teacher group by dpt having avg(sal)>2000;
>>>
+--------------+----------+
| dpt | avg(sal) |
+--------------+----------+
| 伴白臉部 | 3050 |
+--------------+----------+
#在teacher表中 查找種類為name,dpt的值
select name ,dpt from teacher;
#注意!!下列操作僅對查詢時進行更改,本身的種類跟值不會改動
#查找種類並且對其更改名稱
select name as '稱謂',sal '刀了' from teacher;
>>>
+-----------+--------+
| 稱謂 | 刀了 |
+-----------+--------+
| 吳老師 | 5000 |
| 王老師 | 4000 |
| 安老 | 2000 |
| 育老師 | 3200 |
| NULL | 0 |
| 胖老師 | 1000 |
| d_老大 | 200 |
+-----------+--------+
#使用order 對sal進行排序 desc表示由大到小進行排序 //asc表示從小到大//不寫=默認
select *from teacher order by sal desc;
>>>
+------+-----------+--------------+------+--------------+
| id | name | note | sal | dpt |
+------+-----------+--------------+------+--------------+
| 1 | 吳老師 | 盡量說 | 5000 | 伴白臉部 |
| 2 | 王老師 | 不要講話 | 4000 | 伴白臉部 |
| 4 | 育老師 | 各位 | 3200 | 伴白臉部 |
| 3 | 安老 | 嘿嘿 | 2000 | 討債部 |
| 3 | 胖老師 | 好吃 | 1000 | 討債部 |
| 6 | d_老大 | fuck | 200 | 討債部 |
| 5 | NULL | 沒有人 | 0 | 伴白臉部 |
+------+-----------+--------------+------+--------------+
#顯示前三條訊息
select * from teacher limit 3;
>>>
+------+-----------+--------------+------+--------------+
| id | name | note | sal | dpt |
+------+-----------+--------------+------+--------------+
| 1 | 吳老師 | 盡量說 | 5000 | 伴白臉部 |
| 2 | 王老師 | 不要講話 | 4000 | 伴白臉部 |
| 3 | 安老 | 嘿嘿 | 2000 | 討債部 |
+------+-----------+--------------+------+--------------+
#從第3位開始取後面包含本身的列值 ,注意!!是從0開始算起例如,0.1.2.3…
#select *from teacher limit 3,3;
#原本狀態
>>>
+------+-----------+--------------+------+--------------+
| id | name | note | sal | dpt |
+------+-----------+--------------+------+--------------+
| 1 | 吳老師 | 盡量說 | 5000 | 伴白臉部 | <<<0
| 2 | 王老師 | 不要講話 | 4000 | 伴白臉部 | <<<<1
| 3 | 安老 | 嘿嘿 | 2000 | 討債部 | <<<<2
| 4 | 育老師 | 各位 | 3200 | 伴白臉部 | <<<<3(也就是這裡開始)..1位
| 5 | NULL | 沒有人 | 0 | 伴白臉部 | .....2位
| 3 | 胖老師 | 好吃 | 1000 | 討債部 | <<<取3位(end....) .....3位
| 6 | d_老大 | fuck | 200 | 討債部 |
+------+-----------+--------------+------+--------------+
select *from teacher limit 3,3;
>>>
+------+-----------+-----------+------+--------------+
| id | name | note | sal | dpt |
+------+-----------+-----------+------+--------------+
| 4 | 育老師 | 各位 | 3200 | 伴白臉部 |
| 5 | NULL | 沒有人 | 0 | 伴白臉部 |
| 3 | 胖老師 | 好吃 | 1000 | 討債部 |
+------+-----------+-----------+------+--------------+