mysql常用命令

mysql數據庫定義:

MySQL是一種開放源代碼的關係型數據庫管理系統(RDBMS),MySQL數據庫系統使用最常用的數據庫管理語言--結構化查詢語言(SQL)進行數據庫管理。

mysql命令大全

<一>cmd下命令:

1、cmd啓動、停止MySQL命令

          net start mysql==============net stop mysql

2、cmd登錄數據庫命令

          mysql -uroot -proot

3、使用命令展開所有已存在數據庫

          show databases;

4、新建數據庫,刪除數據庫

         create database wzx; =====drop database wzx;

5、使用數據庫

         use wzx;

6、展開已存在表

          show tables;

7、新建表,刪除表

          create table wzx(sid int(20) primary key,sname varchar(20) );

          drop table wzx;

8、獲取表結構

         desc wzx;

9、增加表記錄

         insert into wzx values(1,'wzx');

10、查看錶全部內容

          select*from wzx;

11、修改列類型

           alter table wzx modify sid varchar(20);

12、增加列

          alter table wzx add ssex char(2);

13、刪除列

          alter table wzx drop ssex;

14、修改列名

          alter table wzx change age sage int(20); 

15、修改表名

          alter table wzx rename sore;         

<二>使用MySQL編輯器:


1、刪除表

         delete from wzx;

2、修改字段

         update wzx set sage=23,sname='wzx';

3、根據條件查詢指定的數據

         select*from wzx where sid=18 and sex='女';

4、查詢數據,返回指定的列

        select sid=2,sname='王紫瀟' from wzx;

5、給指定返回列取別名(小名)

         select sid,sname,sage,ssex from wzx;

         select sid as a,sname as b,sage as c,ssex as d from wzx;

6、在條件中使用比較運算符

          select*from wzx where sage!=18;

7、多條件的查詢(and or not)

         select*from wzx where sage<=18 and ssex='女';

         select*from wzx where sage<21 or ssex='女';

         select*from wzx where sage not in(18,21,25);

8、對空值的查詢(is null),對應列是否null查詢

         select*from wzx where sage is not null;

         select*from wzx where sage is null;

9、查詢AB之間的值,包含AB的值between A and B

         select*from wzx where sage between 18 and 25;

10、in(篩選條件符合的結果)

         select*from wzx where sage in(18,21,25);

11、處理重複值(distinct),排除重複展示,只展示一次

           select distinct age from wzx;

12、查詢返回限定行數(limit)

          limit 10;    //取查詢數據的前10位======select*from wzx limit 10;

          limit 10,10;  //從查詢數據的第11位開始,自後取10位數據展示,不滿足

                                 //10位也不會報錯========select*from wzx limit 10,10;

13、通過查詢複製表

          create table sore select*from wzx;

14、只複製結構

          create table sore select*from wzx where 1=2;

15、分組group by(根據所提供類型分組整合)

          select ssex,count(*)from wzx group by sex;

          //分組使用,group by出現在select後,即select group by;

         //若爲group by select 後面就不能出現*

16、order by 字段名:字段名爲我們需要排序的字段=======排序

           select * from wzx order by sage asc;  //升序,默認

           select * from wzx order by sage desc;    //降序

17、常用聚合函數(聚合)

           1、count:統計數量

                    select count(sage) from wzx;

           2、sum:求和

                    select sum(sage) from wzx;

           3、max:最大值

                    select max(sage) from wzx;

            4、min:最小值

                    select min(sage) from wzx;

             5、avg:平均數

                    select avg(sage) from wzx;

 

18、多表連接

                  select*from wzx;

                  select*from sore;

          1、交叉連接(沒有任何條件,只需要將多張表的所有數據排列顯示出來):

                   select*from wzx,sore;

          2、內連接(多張表之間,存在數據的關聯):

                   select * from wzx,sore where wzx.sid = sore.sid;

          3、兩張表:

                   select* from wzx inner join sore on wzx.sid = sore.sid; 

          4、三張表:

           select*from student s,course c,score sc where s.sid=sc.sid and c.cid=sc.cid;

          5、外連接 :左表或右表作爲主表的情況下,主表的全部內容都會顯示,而另一                   

                       張表沒有對應的數據則會補null

                    select * from class c left join stu s on c.cid = s.cid; 


                    select * from class c right join stu s on c.cid = s.cid; 

例:

create table class(

cid int primary key auto_increment,

cname varchar(20)

                    )default charset='utf8';

  create table stu(

sid int primary key auto_increment,

sname varchar(20),

cid int

)default charset='utf8';

INSERT INTO class(cname) VALUES("一班");

INSERT INTO class(cname) VALUES("二班");

INSERT INTO class(cname) VALUES("三班");

INSERT INTO class(cname) VALUES("四班");


INSERT INTO stu(sname,cid) VALUES("張三",1);

INSERT INTO stu(sname,cid) VALUES("李四",2);

INSERT INTO stu(sname,cid) VALUES("王五",2);

INSERT INTO stu(sname,cid) VALUES("楊六",3);

INSERT INTO stu(sname,cid) VALUES("趙七",5);

INSERT INTO stu(sname,cid) VALUES("周八",6);


交叉連接:--沒有任何條件,只需要將多張表的所有數據排列顯示出來

select * from class,stu;

內連接:select * from class inner join stu on class.cid = stu.cid;



外連接 :

左外連接 left join / left outer join

右外連接 right join / right outer join

外連接 :左表或右表作爲主表的情況下,主表的全部內容都會顯示,而另一張表沒有對應的數據則會補null


select * from class c left join stu s on c.cid = s.cid; 


select * from class c right join stu s on c.cid = s.cid; 


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章