广告
返回顶部
首页 > 资讯 > 数据库 >mysql学习笔记(三)--- 基本的SQL语句
  • 632
分享到

mysql学习笔记(三)--- 基本的SQL语句

2024-04-02 19:04:59 632人浏览 独家记忆
摘要

【正文】主要内容:一、cmd命令行的常用命令二、数据定义语言(DDL)三、数据操纵语言(DML)四、数据查询语言(DRL)五、事务控制语言(TCL)一、cmd命令行的常用命令:当我们使用Mysql 5.5

【正文】

主要内容:

  • 一、cmd命令行的常用命令

  • 二、数据定义语言(DDL)

  • 三、数据操纵语言(DML)

  • 四、数据查询语言(DRL)

  • 五、事务控制语言(TCL)

一、cmd命令行的常用命令:

当我们使用Mysql 5.5 Command Line Client这个客户端登陆时,只能登陆root用户。如果今后创建了别的用户,就很麻烦了,所以我们不用mysql 5.5 Command Line Client这个客户端,而是直接使用cmd。

登录MySQL数据库:

因为在这之前安装Mysql的时候,已经将环境变量配置好了,所以可以直接在cmd中输入如下命令进行登陆:

mysql -u root -p

紧接着输入密码就行了。

上方代码中,-u表示username,即用户名。-p表示passWord,即密码。

mysql学习笔记(三)--- 基本的SQL语句

查看数据库: 

show databases;

使用数据库:(此命令后面可以不加分号)

use 数据库名;

查看当前数据库表:

show tables;

注:命令后面的分号表示结束。

mysql学习笔记(三)--- 基本的SQL语句

注:上图中,先输入show databases;显示出了四个库,前三个表示系统的库,第四个test是系统自带的测试库。然后我们使用test这个数据库,显示:Database changed,表示当前的数据库处于激活状态。紧接着可以对其进行其他相关的命令了。这里我们输入show tables,可以看到test这个数据库的表里面是空的。

所以要开始建表了,于是就涉及到了SQL语句。

SQL全称是:结构化查询语言(Structured Query Language)。既然是语言,就涉及到了语法。下面来看一下常见的语法。

 

二、数据定义语言(DDL)

数据定义语言:Data Definition Language。如CREATE, DROP,ALTER等语句。需要注意的是,数据库中的命令不区分大小写

创建数据库(CREATE DATABASE语句):

【举例】新建数据库,命名为mydb:

CREATE DATABASE mydb;

注:如若要删除数据库,将“create”改为“drop”即可。

创建表(CREATE TABLE语句

【举例】创建一个名为teacher的表:

mysql学习笔记(三)--- 基本的SQL语句

   (((

mysql学习笔记(三)--- 基本的SQL语句

上面所有的代码其实是同一行。

定义字段的格式:字段的名字+字段的类型+属性

注:每个字段定义完后,要用逗号隔开,最后一个字段没有逗号。

一般情况下,每个表都要有一个主键。

命令运行的效果如下:

mysql学习笔记(三)--- 基本的SQL语句

查看表结构:

desc teacher;

效果如下:

mysql学习笔记(三)--- 基本的SQL语句

需要注意的是:主键是用来唯一代表一条记录的字段(主键值必须是唯一)

删除表(DROP TABLE语句):

DROP TABLE teacher;

注:drop table 语句会删除该的所有记录及表结构

修改表结构(ALTER TABLE语句):(假设表名为test)

  • alter table test add column job varchar(10); --添加表列

  • alter table test rename test1; --修改表名

  • alter table test drop column name; --删除表列

  • alter table test modify address char(10) --修改表列类型(改类型)

  • alter table test change address address1  char(40) --修改表列类型(改名字和类型,和下面的一行效果一样)

  • alter table test change column address address1 varchar(30)--修改表列名(改名字和类型)

举例:将主键修改为自动增长:alter table tab_teacher change id id int auto_increment;

 

三、数据操纵语言(DML):

数据操纵语言:Data Manipulation Language。如:INSERT(增), UPDATE(改), DELETE(删)语句

添加数据(INSERT INTO…语句):(即添加表的记录)

INSERT INTO 表名(字段1,字段2,字段3) values(值,值,值);

举例:

insert into tab_teacher(name,gender,age,createDate) values('smyh','b',22,now());

注:上方的now()函数可以调出当前系统的时间。

然后通过如下命令进行查询表的所有记录

select * from tab_teacher;

其中,通配符“*”表示所有字段,即从tab_teacher这个表中查所有字段的记录。

显示效果如下:

mysql学习笔记(三)--- 基本的SQL语句

修改数据(UPDATE … SET语句):

UPDATE 表名 SET 字段1名=值,字段2名=值,字段3名=值 where 字段名=值;

注:where后面的部分表示修改的条件。修改时,按照字段1、字段2、字段3的先后顺序修改。

删除数据:(DELETE FROM…语句)

删除所有记录:

DELETE FROM 表名;

删除ID为1的记录:

DELETE FROM 表名 where id=1;

 

四、数据查询语言(DRL):

数据查询语言(Data Retrieval Language --DRL):SELECT语句。

在实际开发中,数据查询语言用的是最多的。我们现在以下面的这张表格为例:

mysql学习笔记(三)--- 基本的SQL语句

注:实际开发中,要避免使用通配符"*"(通配符代表所有字段),因为系统要先解析出所有的字段名,将其还原为真实的名字,然后再进行操作。如果记录数据库内容特别多,会影响效率。

查询所有老师的信息:

select * from tab_teacher;

或者:(推荐)

select id,name,gender,age,job,createDate from tab_teacher;

在没有表被引用的情况下,允许指定DUAL作为一个假的表名:

DUAL是虚拟表。也就是说,表中没有这个数据,但是要执意使用sql语句,系统就会用这个虚拟表来满足你。举例效果如下:

mysql学习笔记(三)--- 基本的SQL语句

查询ID为2的老师信息:

select * from tab_teacher where id=2;

查询职业为空的老师信息:

select * from tab_teacher where job is null;

注意,上方代码中,字段为空用“job is null”来表示,而不是“job=null”。

查询ID为2的老师的姓名和性别:

select name,gender from tab_teacher where id=2;

mysql学习笔记(三)--- 基本的SQL语句

查询性别为女和指定日期的老师信息:

select $ from tab_teacher where gender='w' and ceateDate='2014-10-14';

注:并且用“and”,或用“or”。

查询性别为男或者ID小于2的老师:

select * from tab_teacher where gender='m' or id<2;

mysql学习笔记(三)--- 基本的SQL语句

查询姓名的最后一个字符为“e”的老师:(关键字:like '%+指定字符')

select * from tab_teacher where name like '%e';

查询姓名以指定字符开头的老师:

select * from tab_teacher where name like 's%';

查询姓名中包含“m”的老师:

select * from tab_teacher where name like '%m%';

查询所有老师信息,并按日期降序或者升序排列:ORDER BY 字段,+默认为升序:ASC/降序:DESC

  • 升序:

select * from tab_teacher order by createDate;

注:最后一个单词ASC可写可不写,因为默认为升序。

  • 降序:

select * from tab_teacher order by createDate desc;

mysql学习笔记(三)--- 基本的SQL语句

多个排序条件:(当第一个条件相同时,按照第二个条件排序)

例如:上面图片的排序中,是按照日期降序排序的,但是id为2和id为3的日期相同,这两条记录按照默认顺序排序。

举例:现在排序的第一条件为:日期降序,第二条件为:年龄降序。多个排序条件用逗号隔开。命令为:

   tab_teacher   createDate ,age ;

按性别分组查询男女老师的人数(GROUP BY ):

 gender,(gender)  tab_teacher   gender;

上面的命令表示,查找gender这个字段;并计算gender有多少个(count(gender));然后按照gender里的内容将个数进行分组(group by gender)。

问题:我觉得应该是先分组,再查询性别,再数性别的个数。

注:这里面用到了count()这个内置的函数。关于count()这个聚合函数,将在下一篇文章中讲到。

正确的效果和错误的效果如下:

mysql学习笔记(三)--- 基本的SQL语句

按性别分组,查询出女老师人数的总数:

 gender,(gender)  tab_teacher   gender  gender;

这里在上一个命令的基础上,增加了一个关键字:having。having关键字专门用来在分组之后添加的条件。意思是:先求总数,然后进行分组,然后再从分组里找到字段等于“m”的个数。注:不能用where作为关键字,因为where是加在分组之前的条件。

显示效果如下:

mysql学习笔记(三)--- 基本的SQL语句

注:这种写法操作繁琐,效率较低,having语句尽量少用,可以用其他语句代替,例如:

 gender,(gender)  tab_teacher  gender;

效果是一样的。

查询表的总记录数:

  • 方式一:(不推荐)

 ()  tab_teacher;
  • 方式二:(使用主键的方式查询)

 (id)  tab_teacher;

方式一将空记录也包含进来了。所以采用方式二,因为主键唯一,且不能为空,此时id总数则代表总记录数。

别名的用法:

  • 使用别名查询表的总记录数:

select count(id) as counts from tab_teacher;

不用别名和用别名的效果对比如下:(命令中的"as"可以省略)

mysql学习笔记(三)--- 基本的SQL语句

  • 使用别名来代替表的名字:

举例:将表的名字起为t。

 t.name,t.age  tab_teacher t;

mysql学习笔记(三)--- 基本的SQL语句

当表名比较长,或者同时有多个表存在时,用别名就显得非常方便了。

查询老师记录的前三条(从0位置开始找出3条):(非常有用)

   tab_teacher limit ,;

命令解释:limit后面有两个参数:第一个参数是起始位置,第二个参数是偏移量。声明:第一条记录的id不管为多少,索引位置都是0。

注:这种分页查询方式非常有用,例如使用百度搜索时,告诉你总记录数,但是会分页显示。

 

五、事务控制语言(TCL):

事务控制语言:Transaction Control Language--TCL。如COMMIT,ROLLBACK语句。

1、事务:

事务(Transaction)的概念:事务(Transaction)是访问并可能更新数据库中各种数据项的一个程序执行单元(unit)。在关系数据库中,一个事务可以是一条SQL语句,一组SQL语句或整个程序。

事务的属性:原子性(atomicity)、一致性(consistency)、隔离性(isolation)、持续性(durability)。这四个属性通常称为ACID特性。

事务的特点:事务就是对数据库的多步操作,要么一起成功,要么一起失败。

总结:事务就是可以把多步操作看成一个整体,这个整体要么一起成功,要么一起失败。

2、事务的提交和回滚命令:

设置默认事务提交方式:(默认为true)

  • 设置事务提交方式为“手动提交”:

 autocommit  false;
  • 设置事务提交方式为“自动提交”:

 autocommit  true;

手动提交事务:

;

回滚事务:

rollback;

 

注:只要还没手动commit提交,一旦回滚,之前的修改操作都将清零。

注:commit命令和rollback命令只有在提交方式为“手动提交”时,才可以用。

3、保存还原点的命令:

当数据未commit之前,增删改查的操作都是暂时保存在内存之中的,当我们修改操作进行到某一步时,可以给这一步设置一个还原点,方便以后回滚到此还原点(类似于PS当中的快照)。

保存还原点:

savepoint name_point;

回滚到指定还原点:

rollback to name_point;


您可能感兴趣的文档:

--结束END--

本文标题: mysql学习笔记(三)--- 基本的SQL语句

本文链接: https://www.lsjlt.com/news/39658.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • mysql学习笔记(三)--- 基本的SQL语句
    【正文】主要内容:一、cmd命令行的常用命令二、数据定义语言(DDL)三、数据操纵语言(DML)四、数据查询语言(DRL)五、事务控制语言(TCL)一、cmd命令行的常用命令:当我们使用MySQL 5.5 ...
    99+
    2022-10-18
  • 【MySQL学习笔记】2、SQL语句
    一、SQL语句SQL:Structured Query Language,结构化查询语言,是客户端和SQL服务器进行对话的语言用于跟SQL服务器对话属于解释执行的编程语言,其代码文件通常称为脚本,直接被解释...
    99+
    2022-10-18
  • 学习mysql的笔记:mysql十大基本入门语句
    学习mysql数据库,从最简单的十条入门语句开始。刚开始学习mysql,老师让我们用cmd控制台输入语句,而不是选择用工具输入,这是为了我们能够先熟悉mysql语句。首先要先进入mysql,语句为:mysq...
    99+
    2022-10-18
  • shell脚本编程之if语句学习笔记
    我不是研究linux下的东西的,所以这里只对shell脚本的用法做一个介绍,把我自己在使用过程中出现的问题记录下来,同时也是写下一些shell脚本语法的规则,方便以后查看。先来学习一下条件语句if的用法,通...
    99+
    2022-06-04
    语句 脚本 学习笔记
  • shell脚本编程之case语句学习笔记
    case语句是用来实现多个if..else的功能的,但是用法上有些不同,学过其他语言的人都知道,case中要对变量进行匹配,如果有一个匹配成功的话就执行相应的语句。shell编程中的case语句也是这个意思...
    99+
    2022-06-04
    语句 脚本 学习笔记
  • mysql报错注入学习笔记 语句的执行
    学习到mysql 数据库 利用报错进行注入,整理了一下个人的学习笔记,仅限于个人的理解。数据库名--------注入语句   得到数据库名and(select 1 from(selec&...
    99+
    2022-10-18
  • MySQL学习笔记-安装和基本操作
    MySQL学习笔记-安装和基本操作 1.安装MySQL1 # yum -y install mysql mysql-server&nbs...
    99+
    2022-10-18
  • shell脚本编程之循环语句学习笔记
    本篇博客很简单,看一下shell编程使用到的循环语句,包括for循环,while循环,until循环,for后边跟一个变量,然后是一个集合,将集合中的东西赋给这个变量,每次循环执行,这跟java中的fore...
    99+
    2022-06-04
    语句 脚本 学习笔记
  • 【MySQL学习笔记】1、安装和基本使用
    最后一个寒假,马上就正式进入行业了,要学的东西很多。首先,我打算把数据库的知识补上。这篇笔记是在Windows环境下写的一、基本概念1、数据 Data2、数据库 Database3、数据库服务器 Datab...
    99+
    2022-10-18
  • Python中的异常处理相关语句基础学习笔记
    异常是指因为程序出现了错误而在正常控制流以外采取的行动,其分为两个阶段,第一阶段是引发异常的错误,当系统检测到错误并且意识到异常条件,解释器(也可以是程序员引发异常)会引发一个异常通知前段控制流有错误发生,...
    99+
    2022-06-04
    语句 学习笔记 异常
  • MYSQL的基本SQL语句介绍
    下文主要给大家带来MYSQL的基本SQL语句介绍,希望这些内容能够带给大家实际用处,这也是我编辑MYSQL的基本SQL语句介绍这篇文章的主要目的。好了,废话不多说,大家直接看下文吧。MYSQL介绍MySQL...
    99+
    2022-10-18
  • PHP的学习笔记 (php的基础语法)
    目录 一、PHP基础语法 01.基础语法     1.标记与注释     2.输出语句     3.PHP标识符     4.PHP关键字 02.数据与运算     1.常量     2.变量     3.表达式     4.数据类型及转...
    99+
    2023-08-31
    php 前端
  • Oracle学习笔记之第八节sql语句(开发课学生指南051)
     开发课 做练习 学生指南051 les01 ppt oracle经常两表连接,叫第三范式,如带有ID性质的东西 以下是sql语句的命令 select * ...
    99+
    2022-10-18
  • mysql学习笔记之完整的select语句用法实例详解
    本文实例讲述了mysql学习笔记之完整的select语句用法。分享给大家供大家参考,具体如下: 本文内容: 完整语法 去重选项 字段别名 数据源 where group ...
    99+
    2022-05-20
    mysql select语句
  • 【Python_Matplotlib学习笔记(一)】pyplot模块的基本用法
    pyplot模块的基本用法 前言正文1、导入pyplot模块2、plt.plot()方法绘制图像3、plt.plot()方法添加描述信息4、plt.lim()方法设置坐标轴取值范围5、plt....
    99+
    2023-09-18
    matplotlib python
  • MYSQL常用的基本SQL语句有哪些
    这篇文章主要讲解了“MYSQL常用的基本SQL语句有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“MYSQL常用的基本SQL语句有哪些”吧!mysql服...
    99+
    2022-10-18
  • mysql,用sql语句,建立学生-课程数据库基本表
    首先要准备三个表Student学生表、Course课程表、SC选课表 学生表学号姓名年龄性别院系StudentSnoSnameSageSsexSdept 课程表课程号课程名先行课学分CourseCnoCnameCpnoCcredit 选课表...
    99+
    2023-10-12
    数据库 mysql sql
  • 数据库学习之三:mysql的基本管理
    三、mysql的基本管理 1、数据库关闭启动 数据库启动流程: 关闭: [root@centos6-kvm3 support-files]# service mysql stop [root@centos6-kvm3 suppo...
    99+
    2016-12-11
    数据库学习之三:mysql的基本管理
  • MySQL(2)-SQL语句和库表的基本操作
     一 . 初识SQL语言SQL (Structured  Quqry  Language) : 结构化查询语言 , 主要用于存取数据 , 查询数据 , 更新数据和管理关系数据库系统SQL语言分为3种类型 ,...
    99+
    2022-10-18
  • GO语言学习笔记:如何快速掌握语言的基础知识?
    随着技术的不断发展,越来越多的程序员开始学习GO语言。GO语言是Google于2009年推出的一种编程语言,它的设计目标是提供一种简单、高效、可靠的编程语言。GO语言在性能、并发性和可维护性方面表现出色,因此受到了众多开发者的青睐。本文将...
    99+
    2023-06-28
    学习笔记 教程 开发技术
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作