当前位置:网站首页 > SQL数据库编程 > 正文

mysql学习笔记--单张表上的增删改查

注:学习的是这位姐姐的博客mysql学习笔记--单张表上的增删改查

一,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='紫霞仙子';![请添加图片描述](https://img-blog.csdnimg.cn/f5a04ddf71fa4174a6d21ede9ba0ace7.png) 

请添加图片描述

到此这篇mysql学习笔记--单张表上的增删改查的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • mysql的学习笔记2024-11-29 09:54:04
  • MySQL 多表查询与事务的操作2024-11-29 09:54:04
  • Node学习(六)01-MySQL数据库——数据库简介 & 安装操作MySQL的图形化处理界面Nacicat & 使用集成软件WampServer客户端链接MySQL服务器 & 创建数据库和表2024-11-29 09:54:04
  • Node学习(六)02-SQL语句——select查询、where筛选sql、like模糊查询通配符、order by查询结果排序、limit 用来限制查询结果的起始点和长度2024-11-29 09:54:04
  • Node学习(六)041-SQL语句之node中的mysql模块——Node中使用MySQL模块共5个步骤之加载MySQL模块、创建MySQL连接对象、连接MySQL服务器、执行SQL语句、关闭连接2024-11-29 09:54:04
  • sql文件转换成csv显示不全(sql文件转换word)2024-11-29 09:54:04
  • pymysql怎么安装pycharm(pymysql怎么安装到anancoda)2024-11-29 09:54:04
  • mysql导入sql文件过大(mysql数据库导入sql文件不成功解决办法!)2024-11-29 09:54:04
  • mysql主键约束名(mysql的主键约束相当于唯一约束和什么约束的组合)2024-11-29 09:54:04
  • 增删改查sql语句例子(增删改查sql语句例子及解析)2024-11-29 09:54:04
  • 全屏图片