【mysql学习笔记】

创建数据表

命令

create database mydb charset utf8; 创建数据库,使用字符编码为utf-8 (create database 数据库名称 charset utf-8;)

show databases;                        //展示database里面内容

use sys;                               //使用数据库(use + 数据库的名称)

use mydb;

show tables;                           //显示所有数据表

desc 数据表名;                        //显示表的结构

实例1

-----------------------------------------------

/*创建数据表*/

create table student

(

id int primary key auto_increment,

name varchar(20),

age int,

tel varchar(20)

);

----------------------------------------------------------

/*插入数据 ,字符串加单引号*/

insert into student(name,age,tel) values('小明',20,'166666666')   

/*查找数据*/

select * from student;       

------------------------------------------------------------

 (navicat使用)

create database student;                         // 创建数据库

use student;                                           //使用数据库

create table user                                     //创建数据列表

(id int primary key auto_increment,       //自动增加

username varchar(50),

password varchar(50)

);

insert into user(username,password) values('小明','12346');

//插入内容insert into 数据列表(,) 值(,)

insert into user(username,password) values('小红','13464')

利用可视化创建表

creat database if not EXISTS user; //如果不存在数据表创建数据表

use user;使用数据库

(id int primary key auto_increment,     //自动增加auto_increment主要用于整数

username varchar(50),

password varchar(50)

);

drop table if exists user;             //删除存在数据表

drop database if exists mydata;      //删除存在数据表

show engines;                   //展示存在引擎

create database gradem;

use gradem;

CREATE TABLE student

(sno char(10) PRIMARY KEY,

sname varchar(8),

ssex char(2) DEFAULT '男',

sbirthday date DEFAULT '2004-01-01',

sid varchar(18),

saddress varchar(30),

spostcode char(6),

sphone char(18) DEFAULT '不详',

spstatus varchar(20),

sfloor char(10),

sroomno char(5),

sbedno char(2),

tuixue tinyint(1) NOT NULL DEFAULT 0,

xiuxue tinyint(1) NOT NULL DEFAULT 0,

smemo text,

classno char(8)

);

CREATE TABLE course

(cno char(3) NOT NULL,

cname varchar(20) NOT NULL,

cterm tinyint NOT NULL,

CONSTRAINT C1 PRIMARY KEY(cno,cterm)

);

CREATE TABLE sc

(sno char(10) NOT NULL,

cno char(3) NOT NULL,

degree decimal(4,1),

cterm tinyint NOT NULL,

CONSTRAINT A1 PRIMARY KEY(sno,cno,cterm),

CONSTRAINT A2 CHECK(degree>=0 and degree<=100),

CONSTRAINT A3 FOREIGN KEY(sno) REFERENCES student(sno),

CONSTRAINT A4 FOREIGN KEY(cno,cterm) REFERENCES course(cno,cterm)

);

插入语句格式(接上一节数据库)

Insert into student(sno,sname,ssex,sid,saddress,spostcode,spstatus,sfloor,sroomno,sbedno,classno)

values('19dsj0101','小明','男','10000000000','广东广州','51050','群众','1','101','01','19数据1');

insert into student(sno,sname,ssex,sid,saddress,spostcode,spstatus,sfloor,sroomno,sbedno,classno)

values('19dsj0102','小董','女','10000000001','广东广州','51050','群众','2','201','02','19数据1');

insert into student(sno,sname,ssex,sid,saddress,spostcode,spstatus,sfloor,sroomno,sbedno,classno)

values('19dsj0203','小李','男','10000000002','广东广州','51050','群众','3','301','03','19数据2');

insert into course(cno,cname,cterm) values('kc1','python','1');

insert into course(cno,cname,cterm) values('kc2','java','2');

insert into course(cno,cname,cterm) values('kc3','hadoop','3');

insert into sc(sno,cno,cterm) values('19dsj0101','kc1',1);

insert into sc(sno,cno,cterm) values('19dsj0101','kc2',2);

insert into sc(sno,cno,cterm) values('19dsj0101','kc3',3);

insert into sc(sno,cno,cterm) values('19dsj0102','kc1',1);

insert into sc(sno,cno,cterm) values('19dsj0102','kc3',3);

insert into sc(sno,cno,cterm) values('19dsj0203','kc1',1);

insert into sc(sno,cno,cterm) values('19dsj0203','kc2',2);

insert into sc(sno,cno,cterm) values('19dsj0203','kc3',3);

维护数据表以及数据表alter语句修改,查找语句

1.使用describe/desc查看表结构

命令语句:describe 表名 / desc 表名

2.使用alter table 语句修改表结构

Alter table student add province varchar(10) after sname;

//命令结构: alter table 表名 add 新字段名 数据类型 【若没有用(first/after)加字段名,字段将加在最后】

alter table student modify sbirthday varchar(10);

//命令结构alter table 表名 modify 字段名 新数据类型 完整的约束条件

alter table student change sbirthday sbirth date;

//命令结构 alter table 表名 change 旧字段名 新字段名 约束条件

alter table student drop smemo;

//命令结构 alter table 表名 drop 删除的字段名

alter table sc rename student_course;

//命令alter table student

SELECT * from student;

SELECT * from student limit 4;

select sno,sname,ssex,sbirth,sid,classno from student limit 4;

SELECT distinct classno as 班级 from student;

查询表

SELECT * from student;

//查询student表所有内容

SELECT * from student LIMIT 2;

//查询student表前两行的内容

SELECT sno,sname,sid,classno FROM student

//查询student表sno sname sid classno 的内容;

select * from student where classno='22数据2' ;

//查询student表内有关22数据2的内容

select * from student where ssex='男'and classno='22数据2';

//查询student表内数据内容为ssex和classno的内容

select * from student order by sid desc;

//让student表内数据根据sid,来降序(desc)。[默认为升序(asc)]

SELECT count(*) as 总人数 from student;

//统计总人数有几个人.

SELECT * from student where sid like '%2';

//查找身份证以二结尾

select classno,count(sno) as 班级人数 from student group by classno;

//查找以组分类的人数数据

select * from student_course where degree>=70 and degree <=90;

//查找成绩在70-90之间的人

聚集函数统计数据、交叉连接、内连接

select * from student_course where degree between 80 and 90;

select * from student where sid is null

select * from student where saddress regexp '^广'

select * from student where sid regexp '10'

select * from student where classno in ('2020数据1','2020数据2')

select sum(degree) as 总成绩 from student_course

select avg(degree) as 平均成绩 from student_course

select max(degree) as 最高成绩 from student_course

select student_course.* from student_course, course

select student.sno,sname,classno,cno,degree from student inner join student_course on student.sno=student_course.sno

select student.sno,sname,classno,cno,degree from student, student_course where student.sno=student_course.sno

select student.sno,sname,classno,cname,degree from student, student_course, course where student.sno=student_course.sno and student_course.cno=course.cno

内连接:查询学生学号、姓名、班级、选课的课程名、分数:学生表student、选课表sc、课程表course

SELECT student.sno,sname,classno,cname,degree from student,sc,course

where student.sno = sc.sno and sc.cno=course.cno

等价与下面语句

SELECT student.sno,sname,classno,cname,degree from student inner join sc on student.sno=sc.sno

inner join course on sc.cno =course.cno

自连接:查询同时选了编号为kc1 kc2的学号

SELECT sc1.sno from sc as sc1,sc as sc2 where sc1.sno=sc2.sno and sc1.cno ='kc1' and sc2.cno='kc2'

左外连接

select student.sno,sname,classno,cno,degree from student left join sc on student.sno=sc.sno

右外连接

select sno,degree,cname from sc right join course on sc.cno =course.cno

//全连接

SELECT * from student full join sc

//嵌套查询

//查询学生分数大于80的学生:学号 姓名 班级 选课的课程名 分数:学生表student 选课表sc 课程表sc

select * from

(select student.sno,sname,classno,cname,degree from student,sc,course

where student.sno=sc.sno and sc.cno=course.cno)as t

where degree>80

//嵌套查询:查找选择了课程号为kc2的学生姓名

select sname from student where sno in (select sno from sc where cno='kc2')

//查询大于平均年龄的学生

select * from student

where(year(CURRENT_DATE)-year(sbirth)) < (select AVG(year(CURRENT_DATE)-year(sbirth))from student);

//查询没有选python的学生信息

select * from student

where sno not in

(select sno from sc

where cno not in (SELECT cno from course where cname='python')

)

where sno not in

(select sno from sc

where cno not in (SELECT cno from course where cname='python')

)

/*查找所有选修了课程号为kc1的学生姓名*/

select sname from student where sno in (select sno from sc where cno='kc1')

select sname from student where EXISTS (select * from sc where sno=student.sno and cno='kc1')

/*查询选修了全部课程的学生姓名*/

SELECT * from student where not EXISTS

(SELECT * from course where not EXISTS

       (SELECT * from sc where student.sno =sc.sno and sc.cno=course.cno) )

      

/*查询成绩比该课程平均成绩高的学生学号及成绩*/

SELECT sno,cno,degree from sc as a where degree > (SELECT avg(degree) from sc as b where a.cno=b.cno)

/*插入语句:课程表插入数据*/

INSERT into course(cno,cname,cterm) values('kc9','history',4);

/*插入多条记录*/

INSERT into course(cno,cname,cterm) values('kc7','hbase',3),('kc6','kafka',3);

/*按照course表重新创建一个新的表*/

create table course2 like course

/*插入子查询的结果*/

insert into course2 select * from course

创建视图

create view stu_view(sno,name,sex,class)

as select sno,sname,ssex,classno from student

/*通过视图修改数据*/

insert into stu_view(sno,name,sex,class) values('23sj0101','小五','男','23数据1');

update stu_view set name = '小小五' where name='小五'

DELETE from stu_view where name='小小五'

/*修改视图*/

alter view stu_view

as select sno,sname,ssex,classno from student

/*删除视图*/

drop view stu_view

/*创建视图:从学生表,课程表,选课表,对选择了python课程的所有学生信息*/

create view sc_view as

select student.sno,sname,ssex,classno,cname from student,sc,course

where student.sno=sc.sno and course.cno and cname='python'

/*给课程表course的cno字段创建索引*/

create index idx_cno on course(cno);

/*给选课表sc的cno字段创建索引*/

alter table sc add index idx_sc(sno,cno);

/*删除索引*/

drop index idx_cno on course;

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【完美解决】使用git时候出现error setting certificate verify locations: CAfile:问题

1、出现场景&#xff1a; 在使用idea的时候&#xff0c;进行git下的push&#xff0c;出现下面的错误&#xff1a; 2、原因分析&#xff1a; 可能因为重装过系统&#xff0c;或者是安装git的位置发生了变化等情况出现。 3、解决方案&#xff1a; 找到git的安装路径&#xf…

Layer创建流程

在SurfaceFlinger中&#xff0c;Layer表示一个显示图层&#xff0c;是surfaceflinger合成过程中最重要的基本单元&#xff0c;它提供了一系列属性定义了如何参与合成并与其他Layer交互&#xff0c;包括&#xff1a; 位置&#xff1a;定义Layer出现在屏幕上的位置&#xff0c;包…

回归分析的理解

1.是什么&#xff1a; 2.回归问题的求解&#xff1a; 首先是根据之前的数据确定变量和因变量的关系根据关系去预测目标数据根据结果做出判断 2.1如何找到关系&#xff1f; y’是根据模型生成的预测结果&#xff1a; y’axb&#xff0c;而我们的目的是y’和y(正确的结果)之间…

Innodb实现的索引

概念 一种用于提高数据库查询性能的有序的数据结构。通过使用索引&#xff0c;数据库引擎可以快速定位到存储表中的特定数据&#xff0c;而不必逐行遍历整个表。在处理大量数据的时候可以显著加快数据检索的速度。 通过索引列队数据进行排序&#xff0c;降低数据排序的成本&a…

V23 中的新功能:LEADTOOLS 展示了它的 EXCEL-lence

LEADTOOLS (Lead Technology)由Moe Daher and Rich Little创建于1990年&#xff0c;其总部设在北卡罗来纳州夏洛特。LEAD的建立是为了使Daher先生在数码图象与压缩技术领域的发明面向市场。在过去超过30年的发展历程中&#xff0c;LEAD以其在全世界主要国家中占有的市场领导地位…

Verilog中4位数值比较器电路

某4位数值比较器的功能表如下。 请用Verilog语言采用门级描述方式&#xff0c;实现此4位数值比较器 参考代码如下&#xff1a; &#xff08;CSDN代码块不支持Verilog&#xff0c;代码复制到notepad编辑器中&#xff0c;语言选择Verilog&#xff0c;看得更清楚&#xff09; t…

CSS-伪类选择器

结构伪类选择器 作用&#xff1a;根据元素的结构关系查找元素 分类&#xff1a; 选择器说明元素名:first-child查找第一个元素元素名:last-child查找最后一个元素元素名:nth-child(N)查找第N名元素 <!DOCTYPE html> <html lang"en"> <head><me…

智启算力平台基本操作

智启算力平台 智启算力平台路径搭载数据集搭载镜像配置 智启算力平台 开发文档 帮助文档 - OpenI - 启智AI开源社区 路径搭载 OpenIOSSG/promote: 启智AI协作平台首页推荐组织及推荐项目申请。 - notice/Other_notes/SDKGetPath.md at master - promote - OpenI - 启智AI开…

加密杂谈:Base 向上,BSC 向下

Aerdrome 价格走过一轮&#xff0c;Base 一己之力扶持起巅峰 1B Mcap, 2B FDV 的百倍币&#xff0c;秀出了肌肉&#xff0c;其所带来的正外部性也进一步盘活了 Base 生态 反观 BSC 本轮哪怕靴子落地依然没个响&#xff0c;差距在哪里&#xff1f;本 Thread 将以此为切入点探讨…

Shell编程规范和变量

一.Shell脚本概述 Shell脚本的概念 将要执行的命令按顺序保存到一个文本文件给该文件可执行权限可结合各种Shell控制语句以完成更复杂的操作 Shell脚本应用场景 重复性操作交互性任务批量事务处理服务运行状态监控定时任务执行 Shell的作用 1&#xff09;介于系统内核与用…

结合kimi chat的爬虫实战思路

背景 想钻研一下项目组件&#xff0c;找找之后的学习方向。不能自以为是&#xff0c;所以借着网开源项目网站上公布的项目内容看一下&#xff0c;那些是我可以努力去学习的&#xff08;入门的&#xff09;。首先需要获取相关内容&#xff0c;于是爬取整理。 任务1&#xff1a…

hadoop学习---基于Hive的数据仓库相关函数机制及其优化方案

Hive相关函数&#xff08;部分&#xff09;&#xff1a; if函数: 作用: 用于进行逻辑判断操作 语法: if(条件, true返回信息,false返回信息) 注意: if函数支持嵌套使用 select if(aa,’bbbb’,111) fromlxw_dual; bbbb select if(1<2,100,200) fromlxw_dual; 200nvl函数:…

面试笔记——工厂模式(简单工厂、工厂方法模式、抽象工厂模式)

场景需求&#xff1a;设计一个咖啡店点餐系统。 设计一个咖啡类&#xff08;Coffee&#xff09;&#xff0c;并定义其两个子类&#xff08;美式咖啡【AmericanCoffee】和拿铁咖啡【LatteCoffee】&#xff09;&#xff1b;再设计一个咖啡店类&#xff08;CoffeeStore&#xff09…

fork,execve,_exit从第一个程序到所有程序

操作系统启动后到底做了什么 CPU Reset → Firmware → Loader → Kernel _start() → 第一个程序 /bin/init → 程序 (状态机) 执行 系统调用 操作系统会加载 “第一个程序” 寻找启动程序代码 if (!try_to_run_init_process("/sbin/init") ||!try_to_run_init_p…

3D人体展示仪

网址 https://3dbodyvisualizer.com/ 可以根据身高体重之类的在线生成人体的3D模型&#xff0c;感兴趣的可以试试

(图论)最短路问题合集(包含C,C++,Java,Python,Go)

不存在负权边&#xff1a; 1.朴素dijkstra算法 原题&#xff1a; 思路&#xff1a;&#xff08;依然是贪心的思想&#xff09; 1.初始化距离&#xff1a;dis[1]0&#xff0c;dis[i]INF&#xff08;正无穷&#xff09; 2.循环n次&#xff1a; 找到当前不在s中的dis最小的点&…

three.js 效果细节提升

1. three.js 效果细节提升 加载模型时&#xff0c;给模型设置接受阴影&#xff0c;反射阴影 gltfLoader.load("./model/court-transformed.glb", (gltf) > {gltf.scene.traverse(child > {if (child.isMesh) {child.castShadow true; // 设置阴影可以投射阴…

c++笔记——概述运算符重载——解析运算符重载的难点

前言:运算符重载是面向对象的一个重要的知识点。我们都知道内置类型可以进行一般的运算符的运算。但是如果是一个自定义类型&#xff0c; 这些运算符就无法使用了。那么为了解决这个问题&#xff0c; 我们的祖师爷就在c中添加了运算符重载的概念。 本篇主要通过实例的实现来讲述…

【时序大模型总结】学习记录(1)

1.TimeGPT-1 思路&#xff1a;在来自不同领域的大量数据上训练模型&#xff0c;然后对未见过的数据产生零样本的推断。 作者对TimeGPT进行了超过1000亿个数据点的训练&#xff0c;这些数据点都来自开源的时间序列数据。该数据集涵盖了广泛的领域&#xff0c;从金融、经济和天气…

YOLOv8原理解析[目标检测理论篇]

接下来是我最想要分享的内容&#xff0c;梳理了YOLOv8预测的整个流程&#xff0c;以及训练的整个流程。 关于YOLOv8的主干网络在YOLOv8网络结构介绍-CSDN博客介绍了&#xff0c;为了更好地介绍本章内容&#xff0c;还是把YOLOv8网络结构图放在这里&#xff0c;方便查看。 1.YOL…
最新文章