当前位置:网站首页>mysql学习笔记--单张表上的增删改查
mysql学习笔记--单张表上的增删改查
2022-06-24 23:43:00 【笑道三千】
注:学习的是这位姐姐的博客https://blog.csdn.net/shine_a?type=blog
一,sql和mysql的区别
SQL是为操作数据库而开发的一种语言。它可以对数据库里的表进行操作,比如修改数据,查找数据。
比如下面这个就是SQL语句。
--增
INSERT INTO <表名> (字段名)VALUES (值);
--删
DELETE FROM <表名> WHERE <筛选条件>;
--改
UPDATE <表名> SET <字段名=值> WHERE <筛选条件>;
--查
SELECT <字段名> FROM <表名> WHERE <筛选条件>;
MySQL是用来管理数据库的计算机软件,这种软件还有Oracle、SQL Server等。
二,安装mysql
下载MySQL:
https://dev.mysql.com/downloads/windows/installer/8.0.html
打开上方网址,会出现下面界面,我们选择第一个 Windows (x86, 32-bit), MSI Installer 安装。
安装Mysql会自带mysql workbench数据库图形化工具。

三,创建数据库,并创建一个新表
-- 创建数据库
CREATE database Xiyouji;
-- 选择数据库
USE Xiyouji;
-- 创建人物表 Roles:
CREATE TABLE Roles(
Sid INT ,
Sname VARCHAR(10),
Sex VARCHAR(10)
);
-- 插入语句
INSERT INTO Roles VALUES
(1 , '猪八戒' , '男'),
(2 , '唐三藏' , '男'),
(3 , '孙悟空' , '男'),
(4 , '沙悟净' , '男'),
(5 , '白龙马' , '男');

四,使用命令行访问数据库
- SQL语句会忽略大小写,SELECT与select是一样的,为了结构清晰,所有SQL关键词都用大写表示。
- SQL语句会忽略缩进和换行,完全是由分号 ; 分割。我们用缩进、换行等只是为了代码看着更美观,结构更清晰。
连接数据库:mysql -u root -p
显示现有数据库:show databases;
选择数据库:use [数据库名]

五,select语句
SELECT语句用来从数据库选取数据,结果会被存储在结果集中。
SELECT <字段名> FROM <表名>;
例如,我们从刚刚创建的“xiyouji”数据库中查找任务表“roles”的所有数据,
1,select *
--选择数据库
USE xiyouji;
--选择查找的表数据
SELECT * FROM ROLES;

2,select 多个字段
SELECT Sname,Sex FROM ROLES;

3,select 多个字段
这些字段可以不是表中现有的列名称,也可以是数学表达式、文本。我们用AS关键字设置列别名(AS可以省略)
SELECT Sname as '姓名',Sex FROM ROLES;

4,SELECT后面的字段,可以用DISTINCT 关键字,将数据去重。
SELECT DISTINCT Sname FROM ROLES;

六,where子句
SELECT <字段名> FROM <表名> WHERE <筛选条件>;
1,比较运算符
WHERE子句中,最常用到的就是比较运算符,包括大于(>)、小于(<)、等于(=)、大于等于(>=)、小于等于(<=)、不等于(!=或者<>)。要注意等于是一个等号而不是两个等号。
SELECT * FROM ROLES WHERE Sname='孙悟空';

2,AND,OR运算符
如果AND和OR同时使用,要注意AND优先级高于OR,但最好加括号,更加清晰一些。
SELECT * FROM ROLES WHERE Sname='孙悟空'OR Sname='沙悟净';

3,IN运算符和NOT IN运算符
SELECT * FROM ROLES WHERE Sname IN ('猪八戒','孙悟空');

4,BETWEEN … AND运算符
BETWEEN … AND区间是包含两端点的。
SELECT * FROM ROLES WHERE Sid BETWEEN 2 AND 4;

5,LIKE运算符和NOT LIKE运算符
模糊匹配时,使用这个,需要配合两个通配符。
%:匹配任意个字符
_:匹配一个字符
SELECT * FROM ROLES WHERE SNAME LIKE '%悟%';

6,REGEXP正则表达式
主要用来搜索字符串,比 LIKE 运算符适用场景要多一些。
^:开头
$:结尾
[abc]:包含abc
[a-c]:包含a-c
|:或
--查找姓名包含“宁”的学生
WHERE Sname REGEXP '宁';
--查找姓名是“宁”开头的学生
WHERE Sname REGEXP '^宁';
--查找姓名是“宁”结尾的学生
WHERE Sname REGEXP '宁$';
--查找姓名是“宁”或“拧“开头的学生
WHERE Sname REGEXP '^[宁柠]';
--查找学生编号Sid是2到5(包括2和5)的学生
WHERE Sid REGEXP '[2-5]';
--查找学生编号Sid是2到5或者7到9(包括2和5,7和9)的学生
WHERE Sid REGEXP '[2-5]|[7-9]';
包含悟字和马字的:
SELECT * FROM ROLES WHERE SNAME REGEXP '[悟马]';

7,IS NULL运算符和IS NOT NULL运算符
SELECT * FROM ROLES WHERE SNAME IS NULL;

七,ORDER BY 排序子句
SELECT <字段名> FROM <表名> ORDER BY <字段名>;
不仅可以给数字排序还可以给文字排序,它的后面的字段名可以是列的名字,列的名字后面还可以加关键字。ASC是升序(默认),DESC是降序。
SELECT * FROM ROLES WHERE SNAME REGEXP '[悟马]' ORDER BY SID DESC;

八,LIMIT子句用来限制返回记录的数量
SELECT <字段名> FROM <表名> LIMIT <限制行数>;
1、取前几条记录
我们可以通过 LIMIT n 取结果集中的前n条记录。
SELECT * FROM ROLES LIMIT 3;

2,跳过前几条记录
可以通过 LIMIT m,n 跳过结果集中的前 m 条记录后的前 n 条记录。
当我们想跳过前3条数据,直接取45两行时:
SELECT * FROM ROLES LIMIT 3,2;

九,INSERT插入语句
INSERT INTO <表名> (列名)VALUES (值);
1,可以不指定列名,插入的值必须按现有的字段顺序完整插入。
insert into roles values(9,'铁扇公主','女');

2,可以指明列名,后面值的顺序,与列名的顺序是对应的就可以。
insert into roles(Sid,Sname) values(10,'紫霞仙子');

3、插入多行,多行数据用括号间逗号隔开就可以了。
insert into roles values(11,'哪吒','男'),(12,'二郎神','男'),(14,'哮天犬','男');

十,UPDATE更新语句
UPDATE <表名> SET <字段名=值> WHERE <筛选条件>;
update roles set Sex='女' where Sname='哪吒';

十一,DELETE删除语句
DELETE FROM <表名> WHERE <筛选条件>;
DELETE FROM ROLES WHERE Sname='紫霞仙子';

边栏推荐
- Pit entry machine learning: I. Introduction
- LINQ 查询(3)
- Software testing weekly (issue 77): giving up once will breed the habit of giving up, and the problems that could have been solved will become insoluble.
- Refresh mechanism of vie
- centos7.3修改mysql默认密码_详解Centos7 修改mysql指定用户的密码
- ACM. HJ70 矩阵乘法计算量估算 ●●
- 入坑机器学习:一,绪论
- Go synchronization waiting group
- PyTorch学习笔记(七)------------------ Vision Transformer
- vim的Dirvish中文文档
猜你喜欢

Yarn: unable to load file c:\users\xxx\appdata\roaming\npm\yarn PS1 because running scripts is prohibited on this system
![[analysis of STL source code] functions and applications of six STL components (directory)](/img/f2/872fd93ef52b1424343ba634be24f6.png)
[analysis of STL source code] functions and applications of six STL components (directory)

Rod and Schwartz cooperated with ZhongGuanCun pan Lianyuan Institute to carry out 6G technology research and early verification

Sumati gamefi ecological overview, element design in the magical world

软件测试周刊(第77期):只要放弃一次,就会滋生放弃的习性, 原本可以解决的问题也会变得无法解决。

背了八股文,六月赢麻了……
![Network planning | [four network layers] knowledge points and examples](/img/c3/d7f382409e99eeee4dcf4f50f1a259.png)
Network planning | [four network layers] knowledge points and examples

Intranet learning notes (7)

How transformers Roberta adds tokens

The role of software security testing, how to find a software security testing company to issue a report?
随机推荐
AOSP ~ 默认属性值
Tell you about mvcc sequel
高速缓存Cache详解(西电考研向)
Distributed transaction solutions and code implementation
计算机三级(数据库)备考题目知识点总结
Mall project pc--- product details page
记一次beego通过go get命令后找不到bee.exe的坑
计网 | 【四 网络层】知识点及例题
14 bs对象.节点名称.name attrs string 获取节点名称 属性 内容
Summary of stack frame in arm assembly
【STL源码剖析】配置器(待补充)
Talking about the advantages of flying book in development work | community essay solicitation
PE file infrastructure sorting
Smartctl opens the device and encounters permission denied problem troubleshooting process record
电脑端微信用户图片DAT格式解码为图片(TK版)
F - spices (linear basis)
Redis
Groovy之高级用法
自动化测试
Application of TSDB in civil aircraft industry