0

0

详细介绍MySQL基础常用命令

WBOY

WBOY

发布时间:2021-12-23 18:37:14

|

4223人浏览过

|

来源于CSDN

转载

本篇文章给大家带来了关于mysql基础命令总结,除了怎样连接数据库,修改密码以外,还有一些常用的命令,希望对大家有帮助。

详细介绍MySQL基础常用命令

一、连接MySQL

格式: mysql -h主机地址 -u用户名 -p用户密码

1、连接到本机上的MySQ:

     首先在打开cmd窗口,输入mysql -uroot -p ,然后空格进入MySQL控制台,MySQL的提示符是: mysql>。
mysql -uroot -p /*如果刚安装好MySQL,root是没有密码的*/

2、连接到远程主机上的MySQL:

     假设远程主机的IP为:192.168.206.100,用户名为root,密码为12345678。
mysql> mysql -h192.168.206.100 -uroot -p12345678; /*u与root可以不加空格*/

3、退出MySQL命令: exit 或 quit(回车):

mysql> exit/quit;

二、MySQL--修改密码

格式:mysqladmin -u用户名 -p旧密码 password 新密码

1、root密码为空时,设置root密码:

mysql> mysqladmin -uroot newpassword;   -- 因为开始时root没有密码,所以-p旧密码 可以省略

2、使用 sqladmin 命令修改密码

mysql> mysqladmin -uroot -p123456 password 12345678;

3、使用set passsword命令修改密码:

mysql> set password for 用户名@localhost = password('新密码');

4、忘记root密码情况下:

      ①关闭正在运行的MySQL服务。
      ②打开DOS窗口,转到mysql\bin目录。
      ③输入mysqld --skip-grant-tables 回车。--skip-grant-tables 的意思是启动MySQL服务的时候跳过权限表认证。
      ④再开一个DOS窗口(因为刚才那个DOS窗口已经不能动了),输入mysql回车,如果成功,将出现MySQL提示符 >。
      ⑤连接权限数据库: use mysql;
      ⑥改密码:update user set password=password("新密码") where user="root";(别忘了最后加分号) 。
      ⑦刷新权限(必须步骤):flush privileges; 。
      ⑧退出mysql  quit;
mysqld --skip-grant-tables   
mysql> use mysql;   --连接权限数据库
mysql> update user set password=password("新密码") where user="root";   -- 改密码
mysql> flush privileges;    -- 刷新权限
mysql> quit;    -- 退出mysql

三、MySQL--常用命令

1、创建数据库(Create)

mysql> create database db_name;  -- 创建数据库
mysql> show databases;           -- 显示所有的数据库
mysql> drop database db_name;    -- 删除数据库
mysql> use db_name;              -- 选择数据库
mysql> create table tb_name (字段名 varchar(20), 字段名 char(1));   -- 创建数据表模板
mysql> show tables;              -- 显示数据表
mysql> desc tb_name;            -- 显示表结构
mysql> drop table tb_name;      -- 删除表

    例如:

/*创建学生表*/
create table Student(
     Sno char(10) primary key,
     Sname char(20) unique,
     Ssex char(2),
     Sage smallint,
     Sdept char(20)
);

2、插入数据(Insert)

     insert into 语句用于向表格中插入新的行:
/*第一种形式无需指定要插入数据的列名,只需提供被插入的值即可:*/
mysql> insert into tb_name values (value1,value2,value3,...);
/*第二种形式需要指定列名及被插入的值:*/
mysql> insert into tb_name (column1,column2,column3,...) values (value1,value2,value3,...);

     例如:

/*插入数据*/

mysql> insert into Student values ( 20180001,张三,男,20,CS);

mysql> insert into Student values ( 20180002,李四,男,19,CS);

mysql> insert into Student (Sno,Sname,Ssex,Sage,Sdept) values ( 20180003,王五,男,18,MA);

mysql> insert into Student (Sno,Sname,Ssex,Sage,Sdept) values ( 20180004,赵六,男,20,IS);

3、查询数据(Select)

       select语句除了可以查看数据库中的表格和视图的信息外,还可以查看 SQL Server的系统信息、复制、创建数据表。其查询功能强大,是SQL语言的灵魂语句,也是SQL中使用频率最高的语句。
基本select语句:
      一个基本的select语句可分解成三个部分:查找什么数据(select)、从哪里查找(from)、查找的条件是什么(where)。
      select 语句的一般格式如下:

                                            select
                                            [into 新表名]
                                            from 表名或视图名
                                            [where ]
                                            [group by ]
                                            [having ]
                                            [order by [ASC|DESC]]

(一)查询指定的列

        1.查询表中所有列

              在select语句指定列的位置上使用*号时,表示查询表的所有列。
              模板:select * from tb_name;

        2.查询表中指定的列

              查询多列时,列名之间要用逗号隔开。
              模板select tb_name., ... from  tb_name;

        3.指定查询结果中的列标题

              通过指定列标题(也叫列别名)可使输出结果更容易被人理解。
              指定列标题时,可在列名之后使用AS子句;也可使用:列别名=的形式指定列标题。
              AS子句的格式为:列名或计算表达式 [AS] 列标题
              模板select  as 列标题1, as 列标题2,  as 列标题3 from bt_name;

        4.查询经过计算的列(即表达式的值)

             使用select对列进行查询时,不仅可以直接以列的原始值作为结果,而且还可以将列值进行计算后所得值作为查询结果,即select子句可以查询表达式的值,表达式可由列名、常量及算术运算符组成。
              查询结果计算列显示“无列名”,一般要给计算列加列标题。
              其中:表达式中可以使用的运算符有:加+、减-、乘*、除/、取余%

              模板select ,,列标题 =  * n from tb_name;

(二)选择行:选择表中的部分行或全部行作为查询的结果

       格式: select [all|distinct] [top n[percent]] from 表名

        1. 消除查询结果中的重复行

              对于关系数据库来说,表中的每一行都必须是不同的(即无重复行)。但当对表进行查询时若只选择其中的某些列,查询结果中就可能会出现重复行。
              在select语句中使用distinct关键字可以消除结果集中的重复行,
              模板:select distinct [,,...] from tb_name;

        2. 限制查询结果中的返回行数

              使用top选项可限制查询结果的返回行数,即返回指定个数的记录数。
              其中:n是一个正整数,表示返回查询结果集的前n行;若带percent关键字,则表示返回结果集的前n%行。
              模板celect  top n from tb_name; /*查询前 n 的数据*/
              模板celect top n percent from tb_name; /*查询前 n% tb_name的数据*/

(三)查询满足条件的行: 用where子句实现条件查询

            通过where子句实现,该子句必须紧跟在From子句之后。
            格式为:select [all|distinct] [top n[percent]] from 表名 where ;
            说明:在查询条件中可使用以下运算符或表达式:
                  运算符                 运算符标识
                  比较运算符         ,>=,!=,,!>,!                  范围运算符         between... and,not between... and
                  列举运算符         in,not in
                  模糊匹配运算符 like,not like
                  空值运算符         is null,is not null
                  逻辑运算符         and,or,not

        1.使用比较运算符:

              模板select * from tb_name where  >= n ;

        2.指定范围:

              用于指定范围的关键字有两个:between...and和 not between...and。
              格式为:select * from tb_name where [not] between and ;
              其中:between关键字之后的是范围的下限(即低值),and关键字之后的是范围的上限(即高值)
              用于查找字段值在(或不在)指定范围的行。

       3.使用列举:

             使用in关键字可以指定一个值的集合,集合中列出所有可能的值,当表达式的值与集合中的任一元素个匹配时,即返回true,否则返回false。
             模板select * from tb_name where  [not] in(值1,值2,...,值n);

       4.使用通配符进行模糊查询:

             可用like 子句进行字符串的模糊匹配查询,like子句将返回逻辑值(true或False)。
             like子句的格式: select * from tb_name where  [not] like ;
             其含义是:查找指定字段值与匹配串相匹配的记录。匹配串中通常含有通配符%和_(下划线)。
             其中:  %:代表任意长度(包括0)的字符串

医院网站系统
医院网站系统

HTML医院网站系统基于PHP+MYSQL开发,在文章内容网站的基础上,预设了医院概况、新闻动态、环境设备、名医荟萃、专科介绍、就医指南、专家门诊值班表、网上挂号、医疗保健知识、在线咨询等医院网站常用的栏目和测试数据,采用适合医院网站的专用模版,增强了系统的针对性和易用性。系统具有文章、图文、下载、社区、表单、用户等基本系统模块和一系列网站辅助功能,用户也可根据自身特点任意创建和修改栏目,适合创建

下载

       5.使用null的查询

             当需要判定一个表达式的值是否为空值时,使用 is null关键字。
             当不使用not时,若表达式的值为空值,则返回true,否则返回false;当使用not时,结果刚好相反。
             模板select * from tb_name where  is [not] null;

        6.多重条件查询:使用逻辑运算符

             逻辑运算符and(与:两个条件都要满足)和or(或:满足其中一个条件即可)可用来联接多个查询条件。and的优先级高于or,但若使用括号可以改变优先级。
             模板select * from tb_name where  = 'volues' and  > n;

(四)对查询结果排序

        order by子句可用于对查询结果按照一个或多个字段的值(或表达式的值)进行升序(ASC)或降序(DESC)排列,默认为升序。
        格式:order by {排序表达式[ASC|DESC]}[,...n];
        其中:排序表达式既可以是单个的一个字段,也可以是由字段、函数、常量等组成的表达式,或一个正整数。
        模板:select * from tb_name order by  ;

(五)使用统计函数:又称集函数,聚合函数

        在对表进行检索时,经常需要对结果进行计算或统计,T-SQL提供了一些统计函数(也称集函数或聚合函数),用来增强检索功能。统计函数用于计算表中的数据,即利用这些函数对一组数据进行计算,并返回单一的值。
        常用统计函数表
              函数名      功能
              AVG         求平均值
              count        求记录个数,返回int类型整数
              max          求最大值
              min           求最小值
              sum          求和

        1. SUM和AVG

             功能:求指定的数值型表达式的和或平均值。
             模板:select avg() as 平均数,sum() as 总数 from tb_name where  ='字符串';

        2. Max和Min

             功能:求指定表达式的最大值或最小值。
             模板:select max() as 最大值,min() as 最小值 from tb_name;

        3. count

             该函数有两种格式:count(*)和count([all]|[distinct] 字段名),为避免出错,查询记录个数一般使用count(*),而查询某字段有几种取值用count(distinct 字段名)。
             (1).count(*):
                 功能:统计记录总数。
                 模板:select count(*) as 总数 from tb_name;
             (2).count([all]|[distinct] 字段名)
                 功能:统计指定字段值不为空的记录个数,字段的数据类型可以是text、image、ntext、uniqueidentifier之外的任何类型。
                 模板:select count() as 总数 from tb_name;

(六)对查询结果分组

        group by子句用于将查询结果表按某一列或多列值进行分组,列值相等的为一组,每组统计出一个结果。该子句常与统计函数一起使用进行分组统计。
        格式为:group by 分组字段[,...n][having ];

        1.在使用group by子句后
             select列表中只能包含:group by子句中所指定的分组字段及统计函数。
        2.having子句的用法
             having子句必须与group by 子句配合使用,用于对分组后的结果进行筛选(筛选条件中常含有统计函数)。
        3. 分组查询时不含统计函数的条件
             通常使用where子句;含有统计函数的条件,则只能用having子句。
             模板:select ,count(*) as 列标题 from tb_name where ='字符串' group by ;

4、修改数据(Update)

    Update 语句用于修改表中的数据。
          格式:update tb_name set 列名称 = 新值 where 列名称 = 某值;

5、删除数据(Delete)

      删除单行
          格式:delete from tb_name where 列名称 = 某值;
      删除所有行
          可以在不删除表的情况下删除所有的行。这意味着表的结构、属性和索引都是完整的:
          格式:delete * from tb_name   或  delete from tb_name;

四、MySQL -- alter命令

 alter add命令用来增加表的字段。
 alter add
命令格式:alter table 表名 add字段 类型 其他;

 例如,在表MyClass中添加了一个字段passtest,类型为int(4),默认值为0

mysql> alter table MyClass add passtest int(4) default '0';
 添加两个字段  
mysql> alter table Person add age int,add address varchar(11);
 删除两个字段
mysql> alter table Person drop column age,drop column address;
 修改字段的注释
mysql> alter table `student` modify column `id` comment '学号';
 1) 加索引
      mysql> alter table 表名 add index 索引名 (字段名1[,字段名2 …]);

 mysql> alter table employee add index emp_name (name);
 2) 加主关键字的索引
      mysql> alter table 表名 add primary key (字段名);

mysql> alter table employee add primary key(id);
 3) 加唯一限制条件的索引
      mysql> alter table 表名 add unique 索引名 (字段名);

 mysql> alter table employee add unique emp_name2(cardnumber);
 4) 删除某个索引
      mysql> alter table 表名 drop index 索引名;

mysql>alter table employee drop index emp_name;
 5) 增加字段
mysql> ALTER TABLE table_name ADD field_name field_type;
 6) 修改原字段名称及类型
mysql> ALTER TABLE table_name CHANGE old_field_name new_field_name field_type;
 7) 删除字段
MySQL ALTER TABLE table_name DROP field_name;

五、MySQL -- 应用

学生-课程数据库

 学生表:Student(Sno,Sname,Ssex,Sage,Sdept)
 课程表:Course(Cno,Cname,Cpno,Ccredit)
 学生选课表:SC(SnoCno,Grade)
 关系的主码加下划线表示。各个表中的数据示例如图所示:

Student表

学号

Sno

姓名

Sname

性别

Ssex

年龄

Sage

所在系

Sdept

20180001 张三 20 CS
20180002 李四 19 CS
20180003 王五 18 MA
20180004 赵六 20 IS
Course表

课程号

Cno

课程名

Cname

先修课

Cpno

学分

Ccredit

1 数据库 5 4
2 数学   2
3 信息系统 1 4
4 操作系统 6 3
5 数据结构 7 4
6 数据处理   2
7 PASCAL语言 6 4
SC表

学号

Sno

课程号

Cno

成绩

Grade

20180001

1 92
20180001 2 85
20180001 3 88
20180002 2 90
20180002 3 80

 建立一个“学生”表Student:

create table Student(
  Sno char(9) peimary key, /*列级完整性约束条件,Sno是主码*/
  Sname char(20) unique, /* Sname取唯一值*/
  Ssex char(2),
  Sage smallint,
  Sdept char(20)
);
 建立一个“课程”表Course:
create table Course(
  Sno char(4) primary key, /*列级完整性约束条件,Cname不能取空值*/
  Sname char(40) not null, /*Cpno的含义是先修课*/
  Cpno char(4)
  Ccredit smallint,
  foreign key (Cpnoo) references Course(Cno) /*表级完整性约束条件,Cpno是外码,被参照表是Course,被参照列是Cno*/
);
 建立学生选课表SC:
create table SC(
  Sno char(9),
  Cno char(4),
  Grade smallint,
  frimary key (Sno,Cno), /*主码由两个属性构成,必须作为表级完整性进行定义*/
  foreign key (Sno) references Student(Sno), /*表级完整性约束条件,Sno是外码,被参照表是Student*/
  foreign key (Cno) references Course(Cno)   /*表级完整性约束条件,Cno是外码,被参照表是Course */
);

推荐学习:mysql视频教程

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
俄罗斯Yandex引擎入口
俄罗斯Yandex引擎入口

2026年俄罗斯Yandex搜索引擎最新入口汇总,涵盖免登录、多语言支持、无广告视频播放及本地化服务等核心功能。阅读专题下面的文章了解更多详细内容。

152

2026.01.28

包子漫画在线官方入口大全
包子漫画在线官方入口大全

本合集汇总了包子漫画2026最新官方在线观看入口,涵盖备用域名、正版无广告链接及多端适配地址,助你畅享12700+高清漫画资源。阅读专题下面的文章了解更多详细内容。

34

2026.01.28

ao3中文版官网地址大全
ao3中文版官网地址大全

AO3最新中文版官网入口合集,汇总2026年主站及国内优化镜像链接,支持简体中文界面、无广告阅读与多设备同步。阅读专题下面的文章了解更多详细内容。

64

2026.01.28

php怎么写接口教程
php怎么写接口教程

本合集涵盖PHP接口开发基础、RESTful API设计、数据交互与安全处理等实用教程,助你快速掌握PHP接口编写技巧。阅读专题下面的文章了解更多详细内容。

2

2026.01.28

php中文乱码如何解决
php中文乱码如何解决

本文整理了php中文乱码如何解决及解决方法,阅读节专题下面的文章了解更多详细内容。

4

2026.01.28

Java 消息队列与异步架构实战
Java 消息队列与异步架构实战

本专题系统讲解 Java 在消息队列与异步系统架构中的核心应用,涵盖消息队列基本原理、Kafka 与 RabbitMQ 的使用场景对比、生产者与消费者模型、消息可靠性与顺序性保障、重复消费与幂等处理,以及在高并发系统中的异步解耦设计。通过实战案例,帮助学习者掌握 使用 Java 构建高吞吐、高可靠异步消息系统的完整思路。

8

2026.01.28

Python 自然语言处理(NLP)基础与实战
Python 自然语言处理(NLP)基础与实战

本专题系统讲解 Python 在自然语言处理(NLP)领域的基础方法与实战应用,涵盖文本预处理(分词、去停用词)、词性标注、命名实体识别、关键词提取、情感分析,以及常用 NLP 库(NLTK、spaCy)的核心用法。通过真实文本案例,帮助学习者掌握 使用 Python 进行文本分析与语言数据处理的完整流程,适用于内容分析、舆情监测与智能文本应用场景。

24

2026.01.27

拼多多赚钱的5种方法 拼多多赚钱的5种方法
拼多多赚钱的5种方法 拼多多赚钱的5种方法

在拼多多上赚钱主要可以通过无货源模式一件代发、精细化运营特色店铺、参与官方高流量活动、利用拼团机制社交裂变,以及成为多多进宝推广员这5种方法实现。核心策略在于通过低成本、高效率的供应链管理与营销,利用平台社交电商红利实现盈利。

122

2026.01.26

edge浏览器怎样设置主页 edge浏览器自定义设置教程
edge浏览器怎样设置主页 edge浏览器自定义设置教程

在Edge浏览器中设置主页,请依次点击右上角“...”图标 > 设置 > 开始、主页和新建标签页。在“Microsoft Edge 启动时”选择“打开以下页面”,点击“添加新页面”并输入网址。若要使用主页按钮,需在“外观”设置中开启“显示主页按钮”并设定网址。

72

2026.01.26

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
MySQL 教程
MySQL 教程

共48课时 | 1.9万人学习

MySQL 初学入门(mosh老师)
MySQL 初学入门(mosh老师)

共3课时 | 0.3万人学习

简单聊聊mysql8与网络通信
简单聊聊mysql8与网络通信

共1课时 | 812人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号