在线 SQL 模拟器SQL Fiddle使用简介

在线 SQL 模拟器SQL Fiddle使用简介

有时候,我们想去验证 SQL语句,却缺少数据库环境,那该怎么办呢?

这时候在线 SQL 模拟器就有了用武之地。SQL 模拟器免安装,可以在网页直接运行 SQL 。

SQL Fiddle 支持 MySQL、Oracle、PostgreSQL、SQLite、MS SQL Server等主流数据库,不需要注册即可使用。注意,没有缓存功能,关闭窗口后需要重新建表和插入数据。

打开SQL Fiddle 网址http://sqlfiddle.com/ 后,如下图所示:

在线 SQL 模拟器SQL Fiddle使用简介_第1张图片

左边栏用于构建表结构、初始化数据,右边栏放置要执行的 SQL,点击“Run SQL” 按钮就会执行 SQL,结果将在下边输出。

网页上方菜单栏包含一个“MySQL 5.6”下拉框,改下拉框可以选择数据库类型及版本,当前支持的有MySQL 5.6、Oracle 11g R2、Postgr等免费在线SQL数据库。

按钮“View Sample Fiddle”给出和其右边下拉框选定的数据库类型及版本相关的默认示例。

按钮“Clear” 可以清除下面两个面板的输入内容。

左边栏用于构建表结构、初始化数据,右边栏放置要执行的 查询语句。

在线 SQL 模拟器SQL Fiddle使用简介_第2张图片

在左边栏输入:

create table students(
  id int unsigned primary key,
  name varchar(10) not null,
  age int(3)
);

INSERT INTO students (id, name, age) VALUES 
 (1, '张三', 20),
 (2, '李四', 22),
 (3, '王五', 21),
 (4, '赵六', 23);

单击“Build Schema”按钮,构建表结构、初始化数据,若语句不符合语法则报错。若不报错,则可以右边栏输入查询语句:

select * 
from students;

若语句不符合语法则报错。若不报错,就会在下面的窗格显示查询结果。

如果想查询符合某个条件的记录,就要用到where子句了,SQL格式为:
select * from where 字段名=值;

例如:

select * 
from students
where name = '李四';

创建3张表并向表中添加数据

CREATE table student(
Sno CHAR(9) PRIMARY KEY,
Sname CHAR(20) UNIQUE,
Ssex char(2),
Sage SMALLINT,
Sdept char(20)
);

INSERT into Student values
(201215121,'李勇','男',20,'CS'),
(201215122,'刘晨','女',19,'CS'),
(201215123,'王敏','女',18,'MA'),
(201215125,'张立','男',19,'IS');


CREATE TABLE course(
Cno CHAR(4) PRIMARY KEY,
Cname CHAR(40) NOT NULL,
Cpno CHAR(4) NULL,
Ccredit SMALLINT
);

insert into course VALUES
('1','数据库','5',4),
('2','数学','',2),
('3','信息系统','1',4),
('4','操作系统','6',3),
('5','数据结构','7',4),
('6','数据处理','',2),
('7','Java语言','6',4);


CREATE table SC(
Sno char(9),
Cno char(4),
Grade SMALLINT
);

insert into sc values
(201215121,1,92),
(201215121,2,85),
(201215121,3,88),
(201215122,2,58),
(201215122,3,80);

连接查询

查询每个学生及其选修课的情况
select student.*,sc.*
from Student,sc
where student.Sno=sc.Sno

查询每个学生的学号,姓名,选修的课程名及成绩
select student.Sno,Sname,Cname,Grade
from student,sc,course
where student.Sno=sc.Sno AND
      sc.Cno=course.Cno

查询选修2号课程且成绩在80分以上的所有学生的学号和姓名
select student.Sno,Sname
from Student,sc
where student.Sno=sc.Sno and 
      sc.Cno='2'   and 
      sc.Grade>=80

常用SQL语句可参见https://blog.csdn.net/promsing/article/details/112793260

你可能感兴趣的:(数据库,sql,数据库)