最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

mysql高效编程阅读摘要--基础篇_MySQL

来源:动视网 责编:小采 时间:2020-11-09 18:46:32
文档

mysql高效编程阅读摘要--基础篇_MySQL

mysql高效编程阅读摘要--基础篇_MySQL:bitsCN.com mysql高效编程阅读摘要--基础篇 一,多个表的连接1,内连接--表间的主键与外键进行相连,只取出键值一致的数据。select user.name,order_basic.oid from order_basic inner join user on order_basic.uid =
推荐度:
导读mysql高效编程阅读摘要--基础篇_MySQL:bitsCN.com mysql高效编程阅读摘要--基础篇 一,多个表的连接1,内连接--表间的主键与外键进行相连,只取出键值一致的数据。select user.name,order_basic.oid from order_basic inner join user on order_basic.uid =


bitsCN.com

mysql高效编程阅读摘要--基础篇

一,多个表的连接

1,内连接--表间的主键与外键进行相连,只取出键值一致的数据。

select user.name,order_basic.oid from order_basic inner join user on order_basic.uid = user.uid;

添加表的别名:select u.name,o.oid form order_basic as o inner join user as u on o.uid = u.uid;

//当域名太多时,以及外表的名称本身比较长时可以可以使用别名。

2,外连接--使用外连接可以取出只在一方表中存在的数据。分为左外连接和右外连接。

select u.name,o.oid from user as u left outer join order_basic as o on u.uid = o.uid;

//没有任何订单信息的用户也会被检索出来。--左外连接

select u.name, o.oid from user as u right outer join order_basic as o on u.uid p o.uid;

//没用用户的订单信息也会被取出来--右外连接

连接向哪边,哪边的信息更全!!内连接时抽取两表间键值一致的记录,而外连接时以其中一个表的全部记录为基准进行检索!!

3,多个表之间的连接

select ob.oid,ob.odate,p.pname,p.price,od.quantity,u.name from

(

(order_basic as ob inner join order_detail as od on ob.oid = od.oid)

inner join product as p on od.pid=p.pid

)inner join user as u on ob.uid = u.uid;

二,在其他查询的基础上进行数据检索

1,基本子查询

select * from product where price > (select avg(price) from product);

2,多个返回值的子查询

select name,address from user where uid not in (select uid from order_basic where odate='2010-07-24');

//返回在这一天没有下单的用户数据

3,子查询与exists运算符

select name,address from user where exists (select * from order_basic where user.uid = order_basic.uid)

//相关子查询户对基础表的每一条记录进行子查询的动作,如果基础表的数据量太大时会给数据库服务器带来很大的负荷,使用时要特别小心

三,表的维护和改造

1,alter table 命令

alter table ...modify 修改列的定义

alter table ...add 添加列

alter table ...change 修改列的名称和定义

alter table ...drop 删除列

alter table visitor modify name varchar(20)---修改列的类型,但通常情况下如果已经存在列数据是不宜修改类型的

alter table visitor add age int;添加了一个新的age列

alter table visitor add age int after name 在任意位置添加列

alter table visitor add age int first 在表开头处加新列

alter table visitor modify age int after name 改变列的位置

alter table visitor change birth birthday DATE 修改列名称和类型

alter table visitor drop age 删除列

2,复制表和删除表

create table customH select * from custom;这样的复制将表结构和数据同时复制过来了

create table customG like custom 只复制表的列构造

insert into customG select * from custom; 将数据复制到新建的表中【可以添加where和limit限制来获取数据】

drop table customG / drop table if exists customG

bitsCN.com

文档

mysql高效编程阅读摘要--基础篇_MySQL

mysql高效编程阅读摘要--基础篇_MySQL:bitsCN.com mysql高效编程阅读摘要--基础篇 一,多个表的连接1,内连接--表间的主键与外键进行相连,只取出键值一致的数据。select user.name,order_basic.oid from order_basic inner join user on order_basic.uid =
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top