mysql知识点简单总结

1.操作数据库语句

创新互联拥有十余年成都网站建设工作经验,为各大企业提供做网站、成都网站制作服务,对于网页设计、PC网站建设(电脑版网站建设)、成都app软件开发公司、wap网站建设(手机版网站建设)、程序开发、网站优化(SEO优化)、微网站、主机域名等,凭借多年来在互联网的打拼,我们在互联网网站建设行业积累了很多网站制作、网站设计、网络营销经验,集策划、开发、设计、营销、管理等网站化运作于一体,具备承接各种规模类型的网站建设项目的能力。

  1.1 显示所有的数据:show databases;

  1.2 创建数据库:create database databasename;

  1.3 删除数据库:create database databasename;

  1.4备份数据库:MySQLdump –uroot –p1234 databasename>本地保存的路径

  1.5恢复数据库:mysql –uroot –p1234 databasename<本地保存的路径

  1.6查看所在数据库:select database();

2.操作数据表语句

  2.0 查询所有的表:show tables;

  2.1 创建表:create table tablename(

                            字段1名称  字段1类型,

                         字段n名称  字段n类型(最后一项,不加逗号)

);

  2.2 修改表:

2.2.1 添加字段: alter table 表名 add 字段名 字段类型;

2.2.2 修改表名:  alter table 表名 rename to 新表名;

2.2.3 修改字段类型: alter table表名modify 字段名 字段新类型;

2.2.4 修改字段:  alter table表名change 字段名 新字段名 新类型;

2.2.5 删除字段: alter table 表名 drop 字段名;

2.2.6 删除表: drop table 表名;

2.2.7 设置主键:

      create table 表名(

                   字段1名称 字段1类型 primary key,

          字段2名称 字段类型

);

 

create table 表名(

       字段1名称 字段1类型 primary key,

       字段2名称 字段2类型,

       primary key(字段1名称)

);

 

create table 表名(

       字段1名称 字段1类型,

    字段2名称字段2类型

);

alter table 表名 add 字段名 primary key;

     2.2.8设置自增长:

              create table 表名(

                            字段1名称 字段1类型 primary key auto_increment,

                            字段2名称 字段2类型

);

       //注意:自增长是对主键且数据类型为数值型的字段而言的

       2.2.9 设置约束条件:unique(唯一性),not null(非空),default(默认)

  2.3 查询表:

     2.3.1 查询所有数据: select * from 表名

     2.3.2 查询符合字段类型(数值)的数据: select * from 表名 where 字段名=id;

     2.3.3 查询符合字段类型(字符串)的数据:select * from 表名 where 字段名=‘str’;

     2.3.4 查询含有某字符的数据:select * from 表名 where 字段名 like ‘%r%’;

     2.3.5 查询不含某字符的数据:select * from 表名 where 字段名 not like ‘%r%’;

     2.3.6 查询同时满足多个条件的数据:

         Select * from 表名 where id in(条件1,条件2);

         Select * from 表名 where 条件1 and 条件2;

     2.3.7 查询满足多个条件之一的数据:

         Select * from 表名 where 条件1 or 条件2;

 

truncate and delete的区别:

(1)truncate既删除表内数据,也删除表的结构,删除表结构后,会重建表的结构

(2)delete只删除表内的数据

having与 where的区别:

(1)having后面跟函数,having是对结果的筛选

(2)where后面跟字段

关键字的书写顺序:

       select,from,where,group by,having,order by

关键字的执行顺序:

       【from】 【where,group by,having 条件】 【select】 【order by】

 

内连接:

       inner join on(内连接),可以多表进行内连接

demo:

//内连接示例

select s.sname, c.cname from sinfor s inner join scinfor sc on s.sid=sc.sid

                                    inner join cinfor c on sc.cid=c.cid;

结果:           +-------+---------+

    | sname  | cname   |

    +-------+---------+

    | s1       | java      |

    | s2       | java      |

    | s1       | android  |

    | s3       | php      |

    +------+--------+

 

外连接:

       (1)left join on(左外连接),以左边的表为基表

       demo:

select s.sname, c.cname from sinfor s left join scinfor sc on s.sid=sc.sid

                                    left join cinfor c on sc.cid=c.cid;

输出结果:

                      +-------+---------+

| sname | cname   |

+-------+---------+

| s1       | java        |

| s1       | android  |

| s2       | java       |

| s3       | php       |

| s5       | NULL     |

+-------+---------+

 

(2)right join on(右外连接),以右边的表为基表

demo:

select s.sname, c.cname from sinfor s right join scinfor sc on s.sid=sc.sid

                                        right join cinfor c on sc.cid=c.cid;

输出结果:

                +-------+---------+

| sname | cname   |

+-------+---------+

| s1        | java       |

| s2        | java       |

| s1        | android  |

| s3        | php       |

| NULL   | C#         |

+-------+---------+

附sql语句:
表1 sinfor (学生表):

       create table sinfor(

              sid int primary key,

              sname varchar(32)

);

       表2 scinfor(选课表):

       create table scinfor(

              sid int,

              cid int,

              primary key(sid,cid),

              foreign key(sid) references sinfor(sid),

              foreign key(cid) references cinfor(cid)

);

       表3 cinfor (课程表):

              create table cinfor(

       cid int primary key,

       cname varchar(32)

);

insert into sinfor values(1, 's1');

insert into sinfor values(2,'s2');

insert into sinfor values(3,'s3');

insert into sinfor values(4,'s5');

insert into cinfor values(1,'java');

insert into cinfor values(2,'android');

insert into cinfor values(3,'php');

insert into cinfor values(4,'C#');

insert into scinfor values(1,2);

insert into scinfor values(2,1);

insert into scinfor values(3,3);

insert into scinfor values(1,1);


当前名称:mysql知识点简单总结
URL分享:http://scyanting.com/article/jhiech.html