数据库-Mysql使用学习笔记(命令行及图形化界面)(1)

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,高可用系列 2核4GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 数据库-Mysql使用学习笔记(命令行及图形化界面)(1)

注:本文是实践性文章,请导入文中提到的数据到数据库,跟着文章做,只是看没有太大意义。先根据需求,自己写SQL语句,再与我给出的进行对比。

环境及软件

  • Windows 10
  • Mysql 5.7.X
  • Navicat 12 for Mysql

安装目录

2020062310470442.png安装目录

  • bin 应用程序存放目录
  • docs 文档存放目录
  • data 数据存放目录
  • my.ini 配置文件配置文件配置文件
  • 2020062310470442.png

配置文件

教程

启动Mysql服务

图形化

任务管理器

打开任务管理器->服务->找到MySQL57,右键启动即可

2020062310470442.png

任务管理器启动

计算机服务

我的电脑/此电脑/计算机,右键,管理->服务和应用程序->服务,找到MySQL57

2020062310470442.png

                                                    MySQL57

同样是右键启动,双击进入属性(任务管理器方式也可右键,打开服务跳转到上图),选择启动类型(如果你最近一直使用Mysql,可以开机自启,即选择自动)。

2020062310470442.png

启动类型

命令行

使用管理员身份打开CMD窗口->输入命令

net start MySql57

注意服务名字和你的一致

2020062310470442.png

由于博主的已经启动了,所以显示上图,记下来,关一下再打开,使用命令

net stop MySql57

2020062310470442.png

关闭再打开

连接和断开服务器

图形化

打开Navicat->连接 MySql->输入端口,用户名,密码等->连接测试,弹出成功窗口->点击确定即可

2020062310470442.png

连接成功

双击左侧的连接即可进入,右键 关闭连接即可关闭。

命令行

打开CMD,使用命令

mysql -uroot -proot
exit

进行连接和断开,-u之后加的是用户名,-p之后加的是密码,也可在-p后什么也不写,之后再写密码,会用"*"代替,防止别人看见。

2020062310470442.png

连接,断开MySql

输入命令

mysql --help

可查看更多命令选项

2020062310470442.png

命令选项

在使用图形化的时候有个 主机名 端口 需要填,命令行是省略了,可使用-h、-P选项,如果你想要连接远程的Mysql的话。

2020062310470442.png

连接本地Mysql

注:由于-u -h选项可以加空格后再加内容,但-p后不能加空格,所以博主干脆都不加了。

SQL语句

介绍

SQL语言不是Mysql独有的,sqlserver、Oracle也是使用SQL语言,但有一些区别,Mysql中特有的有LIMIT、show databases等。以分号结尾,不区分大小写!!!

分类

  • DDL(Data Definition Language,数据定义语言) - Create、Alter、Drop 这些语句自动提交,无需用Commit提交。
  • DQL(Data Query Language,数据查询语言) - Select 查询语句不存在提交问题。
  • DML(Data Manipulation Language,数据操纵语言) - Insert、Update、Delete 这些语句需要Commit才能提交。
  • DTL(事务控制语言) - Commit、Rollback 事务提交与回滚语句。
  • DCL(Data Control Language,数据控制语言) - Grant、Revoke 授予权限与回收权限语句。也有称TCL。

自带表介绍

  • information_schema
  • performance_schema
  • mysql
  • test

在Mysql注入点知识讲了表Information_schema,有一些用户、表、列的数据,在注入后可以获得。

注释

注释分为行注释、行中间注释和多行注释

# 这个注释直到该行结束

-- 这个注释直到该行结束

/* 这是一个在行中间的注释 */

/*

这是一个

多行注释的形式

*/

数据库的添加与删除

2020062310470442.png

mysql命令

  • show:展示数据库、表等,例如,show databases; show tables;
  • use:使用哪个数据库等,例如,use test;
  • source: 导入数据,执行sql脚本文件

命令行

create database lady_killer9;

2020062310470442.png

创建数据库并导入数据

show create database lady_killer9;

2020062310470442.png

查看创建数据库的语句

可以看到使用字符集utf8

lady_killer9.sql脚本可从本文后面的资源一节下载。

缺点:sql脚本路径不能含中文

删除数据库

mysql> drop database lady_killer9;

Query OK, 3 rows affected (0.11 sec)

图形化

新建查询->输入sql语句->运行即可

2020062310470442.png

创建数据库

重连一下即可看见创建的数据库

也可这样创建数据库

2020062310470442.png

MySQL连接右键

2020062310470442.png

字符集选择utf8

选择数据库->运行SQL文件

2020062310470442.png

路径可以含中文

2020062310470442.png

2020062310470442.png

运行成功

2020062310470442.png

刷新即可看见表

接下来就看看表的创建,Navicat 中运行SQL语句不再赘述,之后的图形化只会展示非SQL语句运行方式

表的添加与删除

  • DEPT             部门表
  • EMP              员工表
  • SALGRADE  工资等级表

以EMP表为例,sql语句如下:

1.CREATE TABLE EMP
       (EMPNO int(4)  not null ,
  ENAME VARCHAR(10),
  JOB VARCHAR(9),
  MGR INT(4),
  HIREDATE DATE  DEFAULT NULL,
  SAL DOUBLE(7,2),
  COMM DOUBLE(7,2),
  primary key (EMPNO),
  DEPTNO INT(2) 
  );

命令行:

mysql> use lady_killer9;
Database changed
mysql> show tables;
+------------------------+
| Tables_in_lady_killer9 |
+------------------------+
| dept                   |
| emp                    |
| salgrade               |
+------------------------+
3 rows in set (0.00 sec)
mysql> drop table emp;
mysql> CREATE TABLE EMP(
    -> EMPNO int(4) not null,
    -> ENAME VARCHAR(10),
    -> JOB VARCHAR(9),
    -> MGR INT(4),
    -> HIREDATE DATE DEFAULT NULL,
    -> SAL DOUBLE(7,2),
    -> COMM DOUBLE(7,2),
    -> primary key (EMPNO),
    -> DEPTNO INT(2)
    -> );
Query OK, 0 rows affected (0.04 sec)
————————————————
版权声明:本文为CSDN博主「lady_killer9」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/lady_killer9/article/details/112212620

2020062310470442.png

desc 查看表结构

图形化

2020062310470442.png

删除表

删除表左侧按钮,新建表

2020062310470442.png

创建表EMP

点击添加字段来新建一行,

输入名,选择类型,输入长度,为浮点数的话输入小数点位数,点击不是null选框插入该字段时不能为空,键代表主键,注释可不写也可写名的中文含义等

下方为默认值,可不填,也可根据需要,对应DEFAULT

2020062310470442.png

点击保存,输入表名,点击确定即可

2020062310470442.png

右键设计表,查看表结构

表的字段含义

emp表

EMPNAME   员工名

JOB              工作岗位

MGR             上级领导

HIREDATE    入职日期

SAL               薪资

COMM          津贴

DEPTNO      部门编号


dept表

  • DEPTNO  部门编号
  • DNAME    部门名称
  • LOC          部门位置

salgrade表

  • GRADE     薪资等级
  • LOSAL      最低工资
  • HISAL       最高工资

查询语法

SELECT
    [ALL | DISTINCT | DISTINCTROW ]
      [HIGH_PRIORITY]
      [STRAIGHT_JOIN]
      [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT]
      [SQL_CACHE | SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS]
    select_expr [, select_expr ...]
    [FROM table_references
      [PARTITION partition_list]
    [WHERE where_condition]
    [GROUP BY {col_name | expr | position}
      [ASC | DESC], ... [WITH ROLLUP]]
    [HAVING where_condition]
    [ORDER BY {col_name | expr | position}
      [ASC | DESC], ...]
    [LIMIT {[offset,] row_count | row_count OFFSET offset}]
    [PROCEDURE procedure_name(argument_list)]
    [INTO OUTFILE 'file_name'
        [CHARACTER SET charset_name]
        export_options
      | INTO DUMPFILE 'file_name'
      | INTO var_name [, var_name]]
    [FOR UPDATE | LOCK IN SHARE MODE]]
————————————————
版权声明:本文为CSDN博主「lady_killer9」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/lady_killer9/article/details/112212620

基础查询

SELECT〈目标列组〉

    FROM〈数据源〉

    简单来说,就是从哪些表查什么条件的数据,查多少条,查到后怎么分组,怎么排序,是否将数据保存到文件

    最简单的,从某表查询所有数据

    select * from emp;
      2020062310470442.png

    某表查询所有数据

    添加目标列,例如,查员工名,及年薪。

    select ENAME,SAL * 12 from EMP;

    2020062310470442.png

    由于一般情况下,项目的瓶颈是数据库,所以会查出数据后使用项目的编程语言来进行处理,不会直接乘12这种。

    重命名,使用关键字AS,也可省略。

    select ENAME as 员工名,SAL * 12 as 年薪 from EMP;

    2020062310470442.png

    建议: 出现'员工名'、‘年薪’这种,可使用单引号,虽然也可以使用双引号,但是sqlserver、Oracle都是使用的单引号,所以统一一下,学习其他数据库的时候就简单点。

    读者自行尝试:

    select ENAME '员工名',SAL * 12 '年薪' from EMP;


      2020062310470442.png
    相关实践学习
    每个IT人都想学的“Web应用上云经典架构”实战
    本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
    MySQL数据库入门学习
    本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
    相关文章
    |
    26天前
    |
    存储 关系型数据库 MySQL
    使用命令行cmd查询MySQL表结构信息技巧分享。
    掌握了这些命令和技巧,您就能快速并有效地从命令行中查询MySQL表的结构信息,进而支持数据库维护、架构审查和优化等工作。
    157 9
    |
    1月前
    |
    SQL 关系型数据库 MySQL
    MySQL数据库命令行操作_mysql命令行
    下面帮你整理一份MySQL数据库命令行操作的常用命令总结,适合日常开发和管理时快速使用。
    |
    11月前
    |
    SQL 关系型数据库 MySQL
    SQL命令行退出操作指南:轻松掌握不同数据库环境下的退出技巧
    在数据库管理与开发过程中,经常需要通过SQL命令行工具(如MySQL的mysql客户端、PostgreSQL的psql、SQL Server的sqlcmd等)与数据库进行交互
    964 59
    |
    11月前
    |
    存储 SQL 关系型数据库
    Mysql学习笔记(二):数据库命令行代码总结
    这篇文章是关于MySQL数据库命令行操作的总结,包括登录、退出、查看时间与版本、数据库和数据表的基本操作(如创建、删除、查看)、数据的增删改查等。它还涉及了如何通过SQL语句进行条件查询、模糊查询、范围查询和限制查询,以及如何进行表结构的修改。这些内容对于初学者来说非常实用,是学习MySQL数据库管理的基础。
    294 6
    |
    5月前
    |
    SQL Oracle 数据库
    这款免费数据库工具,可能是YashanDB图形化管理的最佳选择
    DBeaver for YashanDB 是一款专为国产自研数据库 YashanDB 定制的图形化管理工具,基于全球流行的开源数据库工具 DBeaver 二次开发而成。它深度适配 YashanDB 的各种架构,支持 HEAP/LSC 多形态表管理和 Oracle 生态兼容,提供高效的对象管理、智能 SQL 开发和工业级 PL/SQL 调试功能。通过可视化操作,开发者可轻松完成物化视图配置、存储过程管理等复杂任务,大幅提升效率。该工具完全免费,支持多平台,为企业级数据库管理提供了成熟解决方案。
    |
    11月前
    |
    SQL Ubuntu 关系型数据库
    Mysql学习笔记(一):数据库详细介绍以及Navicat简单使用
    本文为MySQL学习笔记,介绍了数据库的基本概念,包括行、列、主键等,并解释了C/S和B/S架构以及SQL语言的分类。接着,指导如何在Windows和Ubuntu系统上安装MySQL,并提供了启动、停止和重启服务的命令。文章还涵盖了Navicat的使用,包括安装、登录和新建表格等步骤。最后,介绍了MySQL中的数据类型和字段约束,如主键、外键、非空和唯一等。
    207 3
    Mysql学习笔记(一):数据库详细介绍以及Navicat简单使用
    |
    12月前
    |
    SQL 关系型数据库 MySQL
    php学习笔记-连接操作mysq数据库(基础)-day08
    本文介绍了PHP中连接操作MySQL数据库的常用函数,包括连接服务器、设置字符集、关闭连接、选择数据库、结果集释放、获取影响行数以及遍历结果集等操作。通过书籍查询的实例演示了如何使用这些函数进行数据库操作,并提供了一个PHP操纵MySQL数据库的模板。
    php学习笔记-连接操作mysq数据库(基础)-day08
    |
    SQL Go 数据库
    如何通过命令行创建数据库?
    如何通过命令行创建数据库?
    554 14
    |
    SQL druid Java
    Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)(下)
    Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)
    141 3
    Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)(下)
    |
    SQL Java 关系型数据库
    Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)(上)
    Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)
    536 3
    Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)(上)

    热门文章

    最新文章

    推荐镜像

    更多