博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mysql基础
阅读量:7196 次
发布时间:2019-06-29

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

mysql基础

查询格式:

select expr from tal_namewhere 条件group by 分组 having 子句对分组结果进行二次筛选order by 排序 asc | desclimit 限制显示条数复制代码
in (); 在范围内between x and y 在两者之间复制代码

where price >= 10 and price <=30 or price<=50;复制代码
where price not between 30 and 50;复制代码

where name like 'da%'where name like 'da_'复制代码

group by 分组

select max(price) from goods;复制代码
select type_id, max(price) from goods group by type_id;复制代码
select id, max(price) from goods group by id;复制代码

min:最小值

sum:总和

avg:平均值

count:总行数

select id, count(*) from goods group by id;复制代码
select goods_id,goods_name,goods_price - market_price from goods;复制代码

where用于查询数据,having用于筛选数据

where对表中的列发发挥作用,having对查询结果中列发挥作用

where和having后面写法一样

select id, name, m_price-shop_price as s from goods having s>100;复制代码

而:where只能对表中的字段名进行筛选

select id, name from goods where m_price - shop_price >100;复制代码

order by 默认是升序排列

order by priceorder by price desc 降序order by price ascorder by rand()复制代码

limit offset 偏移量 n 取出条目

select id, name, price from goods order by price desc limit 3,3;复制代码

安装mysql:

双击下载打开安装包:

http://dev.mysql.com/downloads/复制代码

并安装

Microsoft.NET4.0复制代码

安装后,安装mysql,点击接受,默认安装,然后就是next,点击提示框的是,接着点击execute和next,设置密码和重复密码,windows service name为mysql,next和execute,next,next,execute,finish即可完成安装。

= any  运算符 = in等效!=any 或 <> 运算符 与 not in 等效复制代码

是否存在:

select goods_type_id, good_type_name from category where exists (select * from goods where goods.goods_type_id = category.goods_type_id);复制代码

内连接, 左连接,右连接

内连接:显示左表及右表符合连接条件的记录 左右连接的交集

SELECT n1,n2,n3 FROM tb1 INNER JOIN tb2 ON tb1.n1= tb2.n2; 复制代码

左连接:显示左表的全部记录及右表符合连接条件的记录

SELECT n1,n2,n3 FROM tb1 LEFT JOIN tb2 ON tb1.n1= tb2.n2 复制代码

右连接:显示右表的全部记录及左表符合连接条件的记录

SELECT n1,n2,n3 FROM tb1 RIGHT JOIN tb2 ON tb1.n1= tb2.n2 复制代码

父表:ptype_id type_name子表:stype_id type_name parent_id复制代码

select s.type_id, s.type_name, p.type_name from tdb_goods_types as s left join tdb_goos_types as p on s.parent_id = p.type_id复制代码

同样:

select p.type_id, p.type_name, s.type_name from tdb_goods_types as p left join tdb_goos_types as s on p.type_id = s.parent_id;复制代码

常用函数:

abs() 绝对值bin() 二进制avg(col_name);count(col_name);min(col_name);max(col_name);sum(col_name);concat();concat_ws();strcmp();复制代码

外键约束

约束保证数据的完整性和一致性,约束分类。

表级约束,对过个数据列建立的约束;列级约束,对一个数据列建立的约束。

功能分:

not null 非空约束primary key 主键约束unique key 唯一约束default 默认约束foreign key 外键约束复制代码

外键约束实现一对一或一对多的关系。 创建外键约束,父表和子表必须要有相同的存储引擎,而且禁用临时表,具有外键列的表称为子表,子表所参照的表为父表。

数据库的存储引擎只能为InnoDB。

外键列和参照列必须具有相同的数据类型,外键列,参照列。 外键列和参照列必须创建索引,如果外键列不存在索引的话,mysql将自动创建索引,参照列不存在索引,不会自动创建索引。mysql会为主键自动创建索引。

create table address(id smallint unsigned primary key,name varchar(20) not null);create table teacher(t_id tinyint unsigend primary key,t_name varchar(20) not null,t_add varchar(20) not null,foreign key (t_add) references address(name) on update cascade);show indexes from address;创建索引create index address_name on address(name);create table teacher(t_id tinyint unsigned primary key,t_name varchar(20) not null,t_add varchar(20) not null,foreign key (t_add) references address (name) on update cascade);show create table teacher;复制代码

外键列和参照列必须创建索引。外键列不创建,会自动创建,子;参照列不创建的话,不会自动创建,为父。

结言

好了,欢迎在留言区留言,与大家分享你的经验和心得。

感谢你学习今天的内容,如果你觉得这篇文章对你有帮助的话,也欢迎把它分享给更多的朋友,感谢。

作者简介

达叔,理工男,简书作者&全栈工程师,感性理性兼备的写作者,个人独立开发者,我相信你也可以!阅读他的文章,会上瘾!,帮你成为更好的自己。长按下方二维码可关注,欢迎分享,置顶尤佳。

转载地址:http://xhkum.baihongyu.com/

你可能感兴趣的文章
crate安装使用
查看>>
ASP.NET MVC 基于角色的权限控制系统的示例教程
查看>>
java8 collectors
查看>>
小程序 403
查看>>
angular 子元素访问父元素的$scope
查看>>
oracle导出 dmp文件
查看>>
使用SVG和VML绘制WebGis地理信息
查看>>
eclipse导入android源码
查看>>
Spring AOP原理及简单应用
查看>>
Ubuntu 16.04 安装 RabbitMQ
查看>>
动态代理-JDK动态代理的内部实现
查看>>
Solaris pack link
查看>>
redis集群之哨兵模式
查看>>
mysql left() right() 字符串截取
查看>>
布隆过滤器
查看>>
Ecmall优惠券增加按照固定时间过期功能[TianYan教程]
查看>>
SQLSERVER随机数 随机范围处理方法
查看>>
cocos2dx的对象的内存释放
查看>>
模板特化疑问
查看>>
李京:中国科技大学移动平台——掌上科大
查看>>