Sql入门

1. 常见关系型数据库
在这里插入图片描述
在这里插入图片描述
2. sql语言
在这里插入图片描述
3. sql分类
在这里插入图片描述
4. MySql常用数据类型
在这里插入图片描述
5.备份 恢复数据库
在这里插入图片描述
6.中文乱码
在这里插入图片描述
在这里插入图片描述

注意:where条件后面不能带聚合函数

select * from product order by price desc; --按价格降序
select sum(price) from product; --总价格
select * from product group by cno having avg(price) > 60;

多表设计–外键约束

多表设计中3种实体关系
在这里插入图片描述

1:N的联系(在多的一方添加外键,指向1的一方的主键)
将关系的属性及非多方的主标识加入到多方表
多方表的外键是非多方实体的主标识
在这里插入图片描述
在这里插入图片描述

N:M的联系(建一张中间表,至少要有两个外键分别指向原来那两张表)
联系的属性及两个实体的主标识形成关系表。
关系表的主键为两个实体主标识的组合

在这里插入图片描述
在这里插入图片描述

1:1的联系
实际用途: 用的不是很多
主要用在拆表操作 ,例: 将个人常用信息和不常用信息拆开,减少表的臃肿
在这里插入图片描述
在这里插入图片描述

多表设计实例

在这里插入图片描述

交叉连接查询—笛卡尔积

需要过滤出有意义的数据, where

  • 左外连接 left outer join ... on
    会将左表中所有数据查出来, 如果右表中没有对应的值,用null代替
  • 右外连接 right outer join ... on
    在这里插入图片描述

分页查询limit


select * from product limit 0,10;
--起始索引为0,总共10条数据

--index: 当前页,从1开始
--startIndex: 起始索引 startIndex = (index-1)*10

子查询


distinct 去掉重复值
auto_increment 自动增长
delete from 表名 where 条件
truncate table 表名 <===先删除表,再重建表

主键约束: 默认就是不为空,唯一. 一张表只能有一个主键, 外键都是指向另一张表的主键
唯一约束: 列的内容必须唯一, 不能重复,不能为空(唯一约束不能作为其他表的外键)


创建表

create table employee (
id int primary key auto_increment,
 name varchar(20) not null,
 gender varchar(10),
 birthday date,
 entry_date date,
 job varchar(30),
 salary double,
 resume text
 );

–数据表的结构的修改:


-- 1、在上面员工表的基本上增加一个image列。
 	  alter table employee add image varchr(20);
--2、修改job列,使其长度为60。
     alter table employee modify job varchar(60);
--3、删除gender列。
      alter table employee drop gender;
--4、表名改为user。
      rename table employee to user;
--5、修改表的字符集为utf8
      alter table user character set utf8;
--6、列名name修改为username
       alter table user change name username varchar(20) not null;

查看表结构

--1、查看数据库内的所有表
	   show tables;
--2、查看employee的建表语句
	   show create table employee;
--3、查看employee的表结构
	   desc employee;

删除表

drop table employee;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值