【SQL零基础入门大全】

(一)基础

创建数据库,数据库名为shujuku01

  • create database shujuku01
  • 创建表,if not exists表示如果表不存在则创建,存在则不创建
  • create database if not exists shujuku01;
    在这里插入图片描述

创建表,表名为biao01

create table biao01(
biaoid int not null primary key,
name varchar(30) not null,
money varchar(30) not null,
waijianid int not null
)

  • not null 不为空约束
  • primary key 主键约束
  • unique唯一约束,确保一列的每一行必须具有唯一值
  • default默认约束
  • foreign key 外键约束
  • check检查约束
  • AUTO_INCREMENT 自增
    在这里插入图片描述

insert into插入表

insert into biao01(biaoid,name,money,waijianid)value(2,“二号”,102,2);
在这里插入图片描述

显示表所有列的信息

  • describe biao01;
    在这里插入图片描述

select 查询表数据

  • select * from biao01 查询biao01 表所有信息
    在这里插入图片描述
  • select biaoid,name,money from biao01 查询表部分信息
    在这里插入图片描述

where过滤

  • where子句允许运算符:=,<,>,>= <=,like,in,not in,between…and…
  • in运算符是逻辑运算符,用于检查一组值中是否存在特定值

    在这里插入图片描述
    在这里插入图片描述
  • IN运算符是逻辑运算符,用于检查一组值中是否存在特定值,in(100,300)检查money是否存在100或者300这两个特定的值。
    在这里插入图片描述
    在这里插入图片描述

and 和or

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

order by子句用于按升序或降序对查询返回的数据进行排序

  • asc升序
  • desc倒序
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

TOP子句用于限制返回的行数,一些数据库不支持top支持limit

  • select top 3 * from biao01
  • select * from biao01 limit 3
    在这里插入图片描述

distinct子句用于从结果集中删除重复的行,查询的时候不显示重复数据

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

update 更新已存在数据

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

delete 按条件删除数据,可以删除所有数据

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

  • delete from biao01;#删除表中所有数据

truncate 清空表

  • truncate table biao01;

drop 删除表,可一次性删除多个

  • drop table biao01,biao02;

(二)SQL链接

前期准备:一个教师表,一个学生表,一个班级表。
教师表:五个老师:wang01-wang05
学生表:八个学生:sthdent01-08
班级表:三个班级 class01-03
相关代码如下:


create table if not exists teacher(
       tid int not null primary key auto_increment,
       tmane varchar(30),
       tmoney varchar(30),
       tclassid int 
);
create table if not exists student(
       sid int not null primary key auto_increment,
       sname varchar(30),
       sclassid int
);
create table if not exists class(
       cid int not null primary key,
       cname varchar(30)
)

insert into teacher(tid,tname,tmoney,tclassid)value(101,"wang01",1000,301);
insert into teacher(tid,tname,tmoney,tclassid)value(102,"wang02",2000,302);
insert into teacher(tid,tname,tmoney,tclassid)value(103,"wang03",3000,303);
insert into teacher(tid,tname,tmoney,tclassid)value(104,"wang04",4000,304);
insert into teacher(tid,tname,tmoney,tclassid)value(105,"wang05",5000,305);

insert into student(sid,sname,sclassid)value(201,"sthdent01",301);
insert into student(sid,sname,sclassid)value(202,"sthdent02",301);
insert into student(sid,sname,sclassid)value(203,"sthdent03",301);
insert into student(sid,sname,sclassid)value(204,"sthdent04",301);
insert into student(sid,sname,sclassid)value(205,"sthdent05",301);
insert into student(sid,sname,sclassid)value(206,"sthdent06",301);
insert into student(sid,sname)value(207,"sthdent07");
insert into student(sid,sname,sclassid)value(208,"sthdent08",302);

insert into class(cid,cname)value(301,"class01");
insert into class(cid,cname)value(302,"class02");
insert into class(cid,cname)value(303,"class03");

  • join是用来链接两个表的
  • inner join 内连接
    在这里插入图片描述
  • 外连接: 左连接left join
    在这里插入图片描述
  • 外连接: 右链接right join
    在这里插入图片描述
  • 交叉链接:cross join
    在这里插入图片描述
  • 外连接: 完全链接full join。MySQL不支持全连接,但是Oracle支持。
  • MySQL实现全连接,需要使用关键字"union"或者"union all",前者可以去重,后者不去重
  • union和union all使用时,select下的字段数量必须一致,否则会报错
select * from teacher 
union all
select * from student

(三)SQL高级

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值