博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mysql知识点总结
阅读量:5897 次
发布时间:2019-06-19

本文共 3385 字,大约阅读时间需要 11 分钟。

  hot3.png

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

转载于:https://my.oschina.net/xiaogezi/blog/631825

你可能感兴趣的文章
css的border的solid
查看>>
[MODx] Build a CMP (Custom manager page) using MIGX in MODX 2.3 -- 1
查看>>
jQuery自动完成点击html元素
查看>>
[算法]基于分区最近点算法的二维平面
查看>>
webpack多页应用架构系列(七):开发环境、生产环境傻傻分不清楚?
查看>>
笨办法学C 练习1:启用编译器
查看>>
树的总结--树的性质(树的深度) leetcode
查看>>
nagios短信报警(飞信fetion20080522004-linrh4)
查看>>
【Android游戏开发之六】在SurfaceView中添加组件!!!!并且相互交互数据!!!!...
查看>>
linux 将大文件分成小文件
查看>>
CCNA- 距离矢量路由协议学习
查看>>
企业实践用户邮箱导入/导出(第2部分)
查看>>
我的友情链接
查看>>
如何学习Linux命令-初级篇
查看>>
从Oracle Public Yum为Oracle Linux建立本地的Yum源
查看>>
在 SELECT 查询中使用表表达式
查看>>
静态路由和默认路由
查看>>
谈一谈Spring-Mybatis在多数据源配置上的坑
查看>>
【精益生产】车间现场管理的八大浪费
查看>>
关于阿里开发者招聘节 |这5道笔试真题 你会吗!???
查看>>