首页 > 数据库技术 > 详细

mysql常用命令

时间:2017-02-13 00:24:16      阅读:301      评论:0      收藏:0      [点我收藏+]

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; 


本文出自 “我是宁采臣” 博客,谢绝转载!

mysql常用命令

原文:http://sorewzx.blog.51cto.com/12376049/1897154

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!