你的位置:HollyGold中文网 > NMT中文网 > >一文读懂navicat for mysql基础知识
热点资讯
NMT中文网

一文读懂navicat for mysql基础知识

发布日期:2025-01-04 10:43    点击次数:90

一、数据库的操作 1、新建数据库 2、打开数据库 右键或者双击就可以了。 3、删除数据库 右键–>删除数据库 4、修改数据库 右键–>数据库属性 二、数据类型 1、常用的数据类型 整数:int 小数:decimal 字符串:varchar 日期时间:datatime 2、约束条件 主键:物理上储存的顺序(主键唯一、不能为空,所以允许空值的勾得去掉,不然不能新建或保存,还可以选择下面注释中得自动递增节省工作量) 非空:此字段不允许填空值 唯一:此字段不允许重复 默认值:当不填写时会使用默认值,如果填写以填写的值为止。 外键:维护两个表之间的关联关系 三、备份和恢复 备份:右键–>转储为SQL文件 恢复:右键运转SQl文件 三、操作动作 1、简单查询 语法: select 字段 form 表名 where 条件; 通过as给表和字段取别名:select name as n from students as s; 消除重复行:select distinct * from students; 比较运算符: 等于:= 大于:> 大于等于:>= 小于: < 小于等于:<= 不等于:!=或<> 逻辑运算符: 与:and 或:or 非:not 模糊查询: like %表示任意多个任意字符 表示一个任意字符 例1:查询姓孙的学生 select * from students where name like ‘孙%'; 例2:查询姓孙且名字是一个字的学生 select * from students where name like '孙' 范围查询: in表示在一个非连接的范围内; 例1:查询家乡是北京或上海或广东的学生 select * from students where hometown in(‘北京',‘上海',‘广东'); between…and…表示在一个连续的范围内 例2:查询年龄为18至28的学生 select * from students where age between 18 and 28; 空判断: 注意:null与''是不同的 判断is null 例1:查询没有填写身份证的学生 select * from students where card is null; 判非空is not null select * from students where card is not null; 排序: 语法:select * from 表名 order by 列1 asc|desc,列1 asc|desc…; 默认按照列值从小到大排列 asc从小到大排序,即升序。 desc从大到小排序,即降序。 聚合函数: 1、count(*)表示计算总行数,括号中写星和列名结果一样。 聚合函数不能再where中使用 例1:查询学生总数 select count(*) from students; 2、max(列)表示求此列的最大值 例2:查询女生的最小年龄 select max(age) from students where sex=‘女'; 3、min(列)表示此列最小值 例:查询1班最大的年龄 select min(age) from students where 班级=‘1' 4、sum(列)表示求此列的和 select sum(age) from students 5、avg(列)表示求此列的平均值 select avg(age) from students 分组: 1、按照字段分组,表示此字段相同的数据会被放到一个组中 2、分组后,分组的依据列会显示在结果集中,其他列不会显示在结果集中 3、可以对分组后的数据进行统计,做聚合运算 语法: select 列1,列2,count(*) from 表名 group by/having 列1,列2 having后面的条件运算符与where的相同 对比where与having: 1、where是对from后面指定的表进行数据筛选,属于对原始数据的筛选 2、having是对group by 的结果进行筛选 分页查询:获取部分行 1、当数据过大时,在一页中查看数据是一件非常麻烦的事情 2、语法: select * from limit start,count; 2.1 从start开始,获取count条数据。 2.2 start索引从0开始 例1:查询前3行学生信息 select * from students limit 0,3; 分页: 1、已知:每页显示m条数据,求:显示第n页的数据 select * from students limit (n-1)*m,m; 2、求总页数 查询总条数p1 使用p1除以m得到p2 如果整除则p2为总数页 如果不是整数则p2+1为总页数 连接查询: 1、当查询结果得列来自于多张表时,需要将多张表连接成一个大的数据集,再选择合适的列返回 2、等值连接查询:查询的结果为两个表匹配到的数据 3、左连接查询:查询结果为两个表匹配到的数据加左表特有的数据,对于右表中不存在的数据使用null 4、右连接查询:查询结果为两个表匹配到的数据加右表特有的数据,对于左表中不存在的数据使用null 等值连接: 方式1:select * from 表1,表2 where 表1.列=表2.列; 方式2(又称内连接): select * from 表1 inner join 表2 on 表1.列=表2.列; 方式3(表内连接):select * from 表1,表2,表3 where 表1.列=表2.列 and 表2=表3; 方式4(又称左连接): select * from 表1 left join 表2 on 表1.列=表2.列; 方式5(又称右连接): select * from 表1 right join 表2 on 表1.列=表2.列; 主查询: 主要查询的对象,第一条select语句 子查询: 在第一个select语句中嵌入了另一个select语句,那么嵌套的select语句称之为子查询 主查询和子查询的关系: 1、子查询时嵌入到主查询中 2、子查询是辅助主查询的,要么充当条件,要么充当数据源 3、子查询是可以独立存在的语句,是一条完整的select语句 子查询分类: 1、标量子查询:子查询返回的结果是一个数据(一行一列) 2、列子查询:返回的结果是一列(一列多行) 3、行子查询:返回的结果是一行(一行多列) 4、表级子查询:返回的结果是多行多列 标量子查询: 例1:查询班级学生的平均年龄 select avg(age) from students; 列子查询: 例1:查询18岁的学生学号 select studentno from students where age=18; 行级查询: 例1:查询男生中年龄最大的学生信息 select max(age) from students where sex=‘男'; 2、插入数据 语法: insert into 表名 values(…) 插入多条:insert into 表名 values(…),(…) 3、删除数据 语法: delete from 表名 where 条件 4、修改/更新数据 语法: update 表名 set 列1=值1,列2=值2… where 条件 四、高级 视图: 1、对于复杂的查询,在很多地方被使用,如果需求发生了改变,需要更改sql语句,则需要在多个地方进行修改,维护起来非常麻烦。 2、解决:定义视图。 3、视图本质就是对查询的封装 4、定义视图,建议以V_开头 select view 视图名称 as select 语气; 查看视图:查看表会将所有的视图也列出来 删除视图: 使用:视图的用途就是查询 select * from 视图名称; 索引: 语法: 查看索引:show index from 表名; 外键: 一个外键的值一定是另一个表的主键,在设置主键以前,必须先将两个表选项中的引擎修改为InnoDB: 然后设置外键: 注意:外键所在的表不能设置主键 唯一: 设置唯一后,数据能出现重复的数据。 输入重复的数据就会报错: 五、知识补充 ctr+/ 注释作用 笛卡尔积=两个表数据个数相乘 以上就是一文读懂navicat for mysql基础知识的详细内容,更多关于navicat mysql基础的资料请关注脚本之家其它相关文章!

上一篇:助抗癌活性天然产物Hapalosin类似物库组合构建过程的高效液相色谱分析
下一篇:许正宏教授团队在ACS Synthetic Biology等期刊发表了系列基因表达调控元件构效关系研究成果
友情链接: