经典sql语句50题_SQL面试经典50题:带你从建表开始

大家好,相信很多学习数据分析的小伙伴在面试前都经历过刷题,本系列小编将带大家一起来刷一刷SQL面试必会的经典50题。

当然本系列文章不单单是刷题,小编会带着大家梳理一下解题时用到的知识点,所以基础比较差的小伙伴也完全不必担心,小编会带着大家由浅入深,一步一步实现解题过程。你准备好了吗?相信读完本系列文章之后,你会觉得:哇!SQL原来如此简单和有意思。

(注:小编用的是MySQL8.0)

一.表的创建和数据插入

学习要点

  • 表通过create table语句完成创建而成。
  • 表和列的命名要使用有意义的文字。
  • 指定列的数据类型(整数型、字符型和日期型等)。
  • 可以在表中设置约束(主键约束和NOT NULL约束等)。

下面我们来开始创建表吧~

当然我们在创建表之前需要,一定要先创建用来存储表的数据库。

语法1. 创建数据库

create datebase ;

这里我们创建一个名字为school的数据库,并使用它。

create datebase school; -- 创建数据库use school;  -- 使用数据库

创建好数据库之后,接下来我们使用create table语句在其中创建表。

语法2. 创建表

create table (  ,   ,   ,   ,                      .            .            .,,...);

每一列的数据类型是必须要指定的,还要为需要的列设置约束,约束可以在定义列的时候设置,也可以在语句的末尾进行设置(但是NOT NULL约束只能以列为单位进行设置)

通过create table语句创建出来的表,可以被认为是一个空空如野的箱子,表里并没有数据,这时我们需要通过insert语句在表中插入数据。

语法3. INSSERT语句

insert into (列1,列2,列3,...)values (值1,值2,值3,...),  -- 第一行数据 (值1,值2,值3,...),  -- 第二行数据 (值1,值2,值3,...),  -- 第二行数据 (        .         ), (        .         ),               (        .         );

下面我们来创建学生表,课程表,老师表,分数表这四个表,并插入相应的数据。

新建、插入学生表

create table student(s_id varchar(10),s_name varchar(10),s_age date,s_sex varchar(10)) engine=InnoDB default charset utf8;                    insert into student(s_id,s_name,s_age,s_sex) values('01' , '赵雷', '1990-01-01' , '男')  ,('02' , '钱电' , '1990-12-21' , '男'),('03' , '孙风' , '1990-05-20' , '男'),('04' , '李云' , '1990-08-06' , '男'),('05' , '周梅' , '1991-12-01' , '女'),('06' , '吴兰' , '1992-03-01' , '女'),('07' , '郑竹' , '1989-07-01' , '女'),('08' , '王菊' , '1990-01-20' , '女');

新建、插入课程表

create table course(c_id varchar(10),c_name varchar(10),t_id varchar(10)) engine=InnoDB default charset utf8mb4;insert into course  values('01' , '语文' , '02'), ('02' , '数学' , '01'), ('03' , '英语' , '03');

新建、插入老师表

create table teacher(t_id varchar(10),t_name varchar(10)) engine=InnoDB default charset utf8mb4;insert into teacher        values('01' , '张三'),('02' , '李四'),('03' , '王五');

新建、插入分数表

create table stu_sco(s_id varchar(10),c_id varchar(10),score decimal(18,1)) engine=InnoDB default charset utf8mb4;                    insert into stu_sco  values ('01' , '01' , 80),('01' , '02' , 90),('01' , '03' , 99),('02' , '01' , 70),('02' , '02' , 60),('02' , '03' , 80),('03' , '01' , 80),('03' , '02' , 80),('03' , '03' , 80),('04' , '01' , 50),('04' , '02' , 30),('04' , '03' , 20),('05' , '01' , 76),('05' , '02' , 87),('06' , '01' , 31),('06' , '03' , 34),('07' , '02' , 89),('07' , '03' , 98);

至此,我们就完成了面试题中所需要的表的的创建和数据插入。

二.外部导入数据

当然,mysql8.0不仅仅支持手动创建和插入数据(也就是手动敲啦),也支持从外部直接导入数据,那我们来一起看一下:

首先我们也是要去创建一个数据库,并且使用它,然后在左侧的菜单栏进行刷新,就可以看到这个新建的数据库了,然后就可以在这个库里导入外部数据啦!具体操作步骤如图:

f9a713d43b058e5e985915dde7343ce0.png
ddaadba82a9d5ba165a33e28129bee6e.png
261d542448775aa4fd38042a2675e934.png

导入即可

44583a3056bcc77e0dfe39525e13d722.png

好了,今天就先到这里啦~ 下期见!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/562953.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mongodb创建local库用户_mongodb用户与角色使用

此文档以mongodb 4.0版本进行对用户权限和角色讲解,更详细内容可参考mongodb官方文档.官方文档:https://docs.mongodb.com/manual/core/security-users/一.mongodb内部角色1.数据库用户角色read --读取数据库对像的权限readWrite --读取和修改数据库对像权限2.数据库管理…

exif linux php扩展_LNMP环境为PHP添加exif扩展

在使用时 php报出如下错误: Call to undefined function gemvary\exif_imagetype()好吧,exif扩展没安装...通过 打印phpinfo() 查看得知 mbstring 扩展是有的,exif扩展没有如果mbstring也没有,也可以参考以下exif扩展的安装过程;安装过程基本…

宇视硬盘录像机onvif_视频监控系统中强大的录像机,兼容不同品牌,看看有哪些监控厂家...

选录像机,除路数、盘位和最大接入像素这些硬规格,大家还关注兼容性,例如好不好用、配置方不方便、使用流不流畅、录像稳不稳定等。偶尔也会有朋友问“TP的录像机可以搭配xx厂商的摄像机使用吗?”,答案当然是&#xff1…

python设置函数_在Python中设置函数签名

假设我有一个泛型函数f,我想以编程方式创建一个行为与f相同但具有自定义签名的函数f2。更多细节给定列表l和字典d,我希望能够:将f2的非关键字参数设置为l中的字符串将f2的关键字参数设置为d中的键,将默认值设置为d中的值假设我们有…

mysql新建数据表_Mysql创建数据库与表,并添加表的数据

首先,在成功安装Mysql的基础上,进入到cmd窗口,登录我们的mysql管理系统。登录方式:mysql -u用户名 -p密码如果出现Welcome to...等一大堆英文指示,则说明成功进入了mysql系统。因为我们不知道系统中有哪些库&#xff0…

mysql数据库管理维护_(转)Mysql数据库管理 表的维护

原文:http://t.dbdao.com/archives/mysql%E6%95%B0%E6%8D%AE%E5%BA%93%E7%AE%A1%E7%90%86-%E8%A1%A8%E7%9A%84%E7%BB%B4%E6%8A%A4.html一、目标完成本课程后,你应该能够:认识不同类型的表维护操作执行维护表的SQL语句使用客户端和实用程序维护…

mysql如何使用事件_MySQL事件的使用详解

在系统管理或者数据库管理中,经常要周期性的执行某一个命令或者SQL语句。这个时候就会用到mysql事件,使用这个功能必须保证是mysql的版本是5.1以上。1.首先要查看事件是否开启了,SHOW VARIABLES LIKE event_scheduler;SELECT event_scheduler…

mysql 提交乱码问题_mysql数据库乱码问题

变量 a 的字符编码是由参数 CHARACTER_SET_CLIENT 决定的,假设此时编码为 A,也就是变量 a 的编码。2. 写入语句在发送到 MySQL 服务端之前的编码由 CHARACTER_SET_CONNECTION 决定,假设此时编码为 B。3. 经过 MySQL 一系列词法,语…

mysql5.5编译安装脚本_mysql5.5 免编译安装及脚本启动报错深入

Mysql安装环境简介:最近在做MHA。已经安装完毕heartbeat和drbd,现在准备安装Mysql。Mysql安装目录:/opt/mysqlMysql数据目录:/data/mysql备注:/data目录实际是drbd需要同步到备节点的磁盘分区[rootmysql1 src]# df -hF…

mysql 主键索引如何创建_SQL创建索引、主键

-- MySQL中四种方式给字段添加索引1)# 添加主键# ALTER TABLE tbl_name ADD PRIMARY KEY (col_list);# -- // 该语句添加一个主键,这意味着索引值必须是唯一的,且不能为NULL。#添加唯一索引 -- UNIQUE 后面不用跟INDEX# ALTER TABLE tbl_name ADD UNIQU…

mysql查询20-30的数据_20. mysql查询表的数据大小

在需要备份数据库里面的数据时,我们需要知道数据库占用了多少磁盘大小,可以通过一些sql语句查询到整个数据库的容量,也可以单独查看表所占容量。1、要查询表所占的容量,就是把表的数据和索引加起来就可以了select sum(DATA_LENGTH…

requests由于系统缓冲区空间不足_系统C盘满了空间不足的扩容?

今天带来的是无需重新分区,无需删除逻辑分区的C盘容量扩大方法不重新或删除分区这就意味着无需重新安装软件、游戏等程序,也不用备份重要资料等操作,不影响电脑其它盘。统C盘满了是十分常见的问题,由于起初对C盘分区分的太小了&am…

mysql登陆三小时平均值图片_Mysql每小时平均值,间隔从半小时开始

我有一个mysql数据库,其中包含5分钟箱中的数据 . 我想从半小时开始创建每小时平均数据 . 通过使用mysql内置组:select date,AVG(AE) from mytable group by date(date),HOUR(date);会计算从01:00到02:00的平均值 . 相反,我希望从00:30到01:30…

mysql ip to int_ip网段转换程序(把ip地址转换成相对就的整数)

mysql教程_connect(localhost,root,root);mysql_select_db(dfd);$array file("ip.txt");foreach( $array as $k ){list ($ip,$s) explode(/,$k);$ipe str_replace(.0,.255,$ip);$ipint iptoint($ip);$ipinte iptoint($ipe);//echo iptoint($ip) .-.iptoint($ip…

postgre管理员 无法访问表_postgresql – 授予用户对所有表的访问权限

首先,您必须能够连接到数据库才能运行查询.这可以通过以下方式实现REVOKE CONNECT ON DATABASE your_database FROM PUBLIC;GRANT CONNECTON DATABASE database_nameTO user_name;REVOKE是必要的becauseThe key word PUBLIC indicates that the privileges are to be granted t…

mysql查询去年本月的数据_MySQL查询本周、上周、本月、上个月份数据的sql代码...

MySQL查询的方式很多,下面为您介绍的MySQL查询实现的是查询本周、上周、本月、上个月份的数据,如果您对MySQL查询方面感兴趣的话,不妨一看..查询当前这周的数据SELECT name,submittime FROM enterprise WHERE YEARWEEK(date_format(submittim…

python xlwings api_2021-01-13python,xlwings,api运用,及一些问题

import xlwings as xwimport re#启动APP,visible:是否可见,addbook:是否新增工作簿appxw.App(visibleFalse,add_bookFalse)#APP是否可见app.display_alertsFalse#是否刷新APP屏幕app.screen_updatingFalse#文件路径filepathrC:\Users\*******…

python3+requests+unittest_python3+requests+unittest:接口自动化测试(一)

简单介绍框架的实现逻辑,参考代码的git地址:1.环境准备python3 pycharm编辑器2.框架目录展示(该套代码只是简单入门,有兴趣的可以不断后期完善)(1)run.py主运行文件,运行之后可以生成相应的测试报告,并以邮件形式发送…

python用筛选法求解小于n的所有素数_用筛选法求解n以内的所有素数

用筛选法求解n以内的所有素数:筛选法的思想是一个数是素数则这个数的所有的倍数都是合数,我们不去找素数而去找合数,剩下的就是素数了。一个合数其最大的质因子不会超过其开发数,所以只要迭代到其最大数的开方数即可 一个简单的筛素数的过程&…

mysql类似于excel的删除重复项_Excel去除重复项的三种常用技巧

在工作中,经常会有需要在对原始记录清单进行整理时,剔除其中一些重复项。所谓的重复项,通常是指某些记录在各个字段中都有相同的内容(纵向称为字段,横向称为记录),例如下面图中的第三行数据记录和第五行数据记录就是完…