文档章节

mysql知识点总结

我是小个子啊
 我是小个子啊
发布于 2016/03/06 21:23
字数 989
阅读 15
收藏 1

1.操作数据库语句

  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);

© 著作权归作者所有

共有 人打赏支持
我是小个子啊
粉丝 14
博文 32
码字总数 26893
作品 0
驻马店
MySQL入门教程系列-1.5 如何学习MySQL

在这里持续更新 MySQL入门教程系列-1.5 如何学习MySQL 如何学习 MySQL 这是一个伪命题,每个人都有适合自己的一套学习方法,各

同一种调调
2016/09/28
15
0
一个 16年毕业生所经历的 PHP 面试

前言:有收获的话请加颗小星星,没有收获的话可以 反对 没有帮助 举报三连 有心的同学应该会看到我这个noteBook下面的其它知识,希望对你们有些许帮助。 本文地址 时间点:2017-11 一个16年毕...

醉大侠
2017/12/17
0
0
一个16年毕业生所经历的php面试

前言:有收获的话请加颗小星星,没有收获的话可以 反对 没有帮助 举报三连 有心的同学应该会看到我这个noteBook下面的其它知识,希望对你们有些许帮助。 本文地址 时间点:2017-11 一个16年毕...

OMGZui
2017/11/22
0
0
搞培训第二年的收获与期待 | 叶师傅

总结2017,展望2018 一个字来总结我的2017:稳。 一个词来总结我的2017:精彩。 一句短话来总结我的2017:稳中带点精彩。 先用几组数字总结下我的2017: 参加8次技术会议,每次均有干货主题分...

n88lpo
01/02
0
0
WordPress定期出现“建立数据库连接时出错”问题的解决方案

先贴阿里云服务器的配置: 阿里云配置.png 这是一个困扰我很久的问题,之前不管是搭在CentOS还是Ubuntu上,Wordpress都会定期出现“建立数据库连接时错误”,最近一周更是每天早上网站都无法访...

testglory
2017/11/22
0
0

没有更多内容

加载失败,请刷新页面

加载更多

关于编程,你的练习是不是有效的?

最近由于工作及Solution项目的影响,我在重新学习DDD和领域建模的一些知识。然后,我突然就想到了这个问题,以及我是怎么做的? 对于我来说,提升技能的项目会有四种: 纯兴趣驱动的项目。即...

问题终结者
42分钟前
1
0
打开eclipse出现an error has occurred see the log file

解决方法: 1,打开eclipse安装目录下的eclipse.ini文件; 2,打开的文本文件最后添加一行 --add-modules=ALL-SYSTEM 3,保存重新打开Eclipse。...

任梁荣
昨天
4
0
搞定Northwind示例数据库,无论哪个版本的SQLServer都受用

Northwind数据库 从这里可以找到突破口: http://social.msdn.microsoft.com/Forums/zh-CN/Vsexpressvb/thread/8490a1c6-9018-40c9-aafb-df9f79d29cde 下面是MSDN: http://msdn2.microsoft......

QQZZFT
昨天
1
0
mysql主从同步,安装配置操作

准备 两台mysql服务,我这里准备了如下: 主库:192.168.176.128 从库:192.168.176.131 如何在Linux上安装mysql服务,请看https://blog.csdn.net/qq_18860653/article/details/80250499 操作...

小致dad
昨天
4
0
Redis的“死键”问题

大规模的数据库存储系统中,数据的生命周期管理是很有必要的;从业务角度发现过期数据,数据归档和数据碎片整理等。以MySQL为例,1个运行很久的TB级MySQL实例中,极有可能数百GB的数据,对业...

IT--小哥
昨天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部