自学MySQL基本操作

自学MySQL

一、数据库基本操作

1、修改信息

1.1、修改列名字
#修改列名id为idkey
ALTER TABLE stu CHANGE COLUMN id idkey INT(30);
1.2、在表中添加列
alter table 表名 add column 新列名 varchar(255) not null;#默认加在最后
alter table 表名 add column 新列名 varchar(255) not null after 列名;
1.3、在表中添加数据
#主键(primary key)需要设置值不然报错(not null)
INSERT INTO stu (`idkey`,`id`,`name`,`sex`,`hobby`)
VALUES
(3,13,'sai','男','看电影'),
(4,14,'sakura','女','听歌');

2、主键(primary key)

2.1、主键介绍

一个表只能有一个主键, 但是主键可以是1个或多个字段组成。
primary key 自增长
自增长字段的值从1开始, 每次递增1。
自增长字段数据不可以重复, 合适生成唯一的id。
自增长字段可以使用null或者default来设置值。
自增长字段必须是主键 (primary key)。

2.2、主键创建

#添加主键的第一种方式
create table stu(
    idkey int primary key,   #直接指定主键字段
    id int,
    name varchar(20)
);


#添加主键的第二种方式
create table stu(
    idkey int,
    id int,
    name varchar(20),
    primary key(idkey)       #语句最后指定主键字段
);


#添加主键的第三种方式
create table stu6(
    idkey int,
    id int,
    name varchar(20)
);
#没有主键的情况下添加主建
alter table stu6 add primary key(idkey);    #表创建完成后添加主键
2.3、表连接(避免笛卡尔乘积

内连接

内连接特点:符合条件匹配,不符合条件就过滤

隐式内连接:from a,b where

SELECT s.`name`,t.`name`,t.`course`
FROM stu s,teacher t
WHERE s.idkey=t.idkey;

显示内连接:a inner join b on

SELECT s.`name`,t.`name`,t.`course`
FROM stu s INNER JOIN teacher t
ON s.idkey=t.idkey;

外连接

外连接特点:能匹配到的数据显示,不能匹配到的数据与null连接并显示

左外连接:left outer join

SELECT s.`name`,t.`name`,t.`course`
FROM stu s LEFT OUTER JOIN teacher t
ON s.idkey=t.idkey;

在这里插入图片描述

右外连接:right outer join

SELECT s.`name`,t.`name`,t.`course`
FROM stu s RIGHT OUTER JOIN teacher t
ON s.idkey=t.idkey;

在这里插入图片描述

全外连接:full outer join

#因为Mysql不支持full outer join,所以使用union将左外连接和右外连接 连接起来,达到全外连接的效果
SELECT s.`name`,t.`name`,t.`course`
FROM stu s LEFT OUTER JOIN teacher t
ON s.idkey=t.idkey
UNION
SELECT s.`name`,t.`name`,t.`course`
FROM stu s RIGHT OUTER JOIN teacher t
ON s.idkey=t.idkey;

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

sai_zuoJing

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值