文章目录

    • 这天,小姐姐问我❤️MySQL命令行操作❤️
      • 一、MySQL简单介绍
      • 二、MySQL安装
      • 三、命令行连接数据库
      • 四,一些基本的操作
        • 1、查看所有的数据库:
        • 2、进入某个数据库:
        • 3、查看数据库里面的table:
        • 4、查看table里面的数据:
      • 五、创建与删除数据库
      • 六、创建table
      • 七、向table中插入数据
      • 八、查询数据
        • 1、select
        • 2、where指定参数
        • 3、like选择参数进行查询
      • 九、修改数据:
      • 十、删除数据
      • 十一、一些其他常用的操作
        • 1、union操作:
        • 2、ALTER命令
        • 3、SQL注入
        • 4、MySQL 导出数据
        • 5、MySQL 导入数据
        • 6、MySQL的一些函数
          • MySQL 字符串函数
          • MySQL 数字函数
          • MySQL 日期函数
        • 7、MySQL的运算符
          • 举例1:
          • 举例2:
          • 举例3:
          • 举例4:
          • 举例5:
          • 举例6:
          • 举例7:

一、MySQL简单介绍

MySQL 是一款安全、跨平台、高效的,并与 PHPJava 等主流编程语言紧密结合的数据库系统。

该数据库系统是由瑞典的 MySQL AB 公司开发、发布并支持,由 MySQL 的初始开发人员 David Axmark 和 Michael Monty Widenius 于 1995 年建立的。

MySQL 的象征符号是一只名为 Sakila 的海豚,代表着 MySQL 数据库的速度、能力、精确和优秀本质。

在这里插入图片描述

二、MySQL安装

安装MySQL的时候,大家可以参见如下的链接:

https://www.cnblogs.com/winton-nfs/p/11524007.html

在这里插入图片描述

三、命令行连接数据库

首先,想要使用数据库,那么就需要连接数据库:
在连接数据库之前,我们需要启动数据库:

net start mysql57

着里我的版本是5.7,所以是mysql57,这里需要根据自己的那个版本进行输入启动项,需要自己查看一下自己的那个MySQL的具体的名称。
在这里插入图片描述
启动之后,我们就可以进行链接数据库了:

mysql -u root -p

然后输入密码就可以登录了啦:

在这里插入图片描述
这里就是进入了MySQL的命令行,而且是连接成功了的。

四,一些基本的操作

1、查看所有的数据库:

show databases;

注意这里语法的结尾需要有英文的分号!!!

在这里插入图片描述

2、进入某个数据库:

use <Name Of Database>;

在这里插入图片描述
注意需要先创建数据库,然后才可以进入,如何创建数据库,我们会在后面进行介绍的。

3、查看数据库里面的table:

show ta

在这里插入图片描述

4、查看table里面的数据:

select * from table1;

在这里插入图片描述

五、创建与删除数据库

create database   <Name Of Database>;

例如:

create database demo1;

在这里插入图片描述

create database demo2;

在这里插入图片描述
数据库不可以重名,否则会报错,例如:
我们在输入如下代码:
在这里插入图片描述
这里是说数据库已经存在了。

下面介绍删除数据库的操作:

drop database   <Name Of Database>;

在这里插入图片描述
注意里面语法需要有 database 的声明,因为后面删除table也是类似的。
在这里插入图片描述

我们先再次把demo2添加回来,这里具体操作就不需要演示了啦。

六、创建table

这里我们来介绍一下如何创建table:

create table <Name Of Table>(
variable type not null,
......
)z

上面这个可以大家看的不是很明白,我们举一个例子就好了:

mysql> create table table1(
    -> id int unsigned not null auto_increment primary key,
    -> name varchar(40) not null,
    -> url varchar(253) not null,
    -> country varchar(20) not null
    -> );

-> 和 mysql>这两个东西实际上是输入的时候的起始符,不是我们输进去的。

还有就是这里需要首先选择数据库然后在进行创建table。
在这里插入图片描述
这里做一下简单的介绍,id是int类型的,然后后面的语句是说,id的数值会根据系统的自动添加数据就也会自动的加一,也就是说,id值不需要我们自己输入,系统会自动帮助我们进行加一的操作,id相当于是系统生成的,但是我们需要声明。

后面的就是数据的一些键了啦。

如果想要创建其他的table也是类似的操作了啦。

然后简单说一下数据库中table的删除的操作。

drop table <Name Of Table>;

七、向table中插入数据

我们举一个例子大家就知道了:

mysql> insert into table1
    -> (name, url, country)
    -> values
    -> ("baidu", "www.baidu.com", "China");

这里就是语法需要注意一下,实际上进行的操作大家一定可以看懂。
在来一个:

mysql> insert into table1
    -> (name , url, country)
    -> values
    -> ("csdn", "https://blog.csdn.net", "China");

为了方便操作,我们继续进行添加,但是具体操作就不展示了,只不过是展示一下最后添加完毕以后的table:
在这里插入图片描述

+----+--------------------------+--------------------------------------------------+---------+
| id | name                     | url                                              | country |
+----+--------------------------+--------------------------------------------------+---------+
|  1 | baidu                    | www.baidu.com                                    | China   |
|  2 | csdn                     | https://blog.csdn.net                            | China   |
|  3 | google                   | https://chrome.google.com                        | usa     |
|  4 | my_csdn                  | https://hyxmoon.blog.csdn.net                    | China   |
|  5 | github                   | https://github.com                               | usa     |
|  6 | yahoo_jp                 | https://www.yahoo.co.jp/                         | Japan   |
|  7 | linkedin                 | https://ru.linkedin.com/                         | Russia  |
|  8 | topman                   | https://www.asos.com/topman/?ctaref=tm|mw|gb|web | uk      |
|  9 | Russian_state_television | https://smotrim.ru                               | Russia  |
+----+--------------------------+--------------------------------------------------+---------+

八、查询数据

这里我们阿里介绍查询数据的方法:

1、select

首先就是我们在前面已经使用了多次的select方法:

select * from <Name Of Table>;

在这里插入图片描述

2、where指定参数

select * from <Name Of Table> where <condition>;

在这里插入图片描述
以及:
在这里插入图片描述
这里以个是俄罗斯的交友平台,一个是俄罗斯国家电视台的网站。

3、like选择参数进行查询

select * from <Name Of Table> where <key> like <%value>;

举一个例子:

select * from table1 where url like "%.com";

这里就是找到所有的网址以 .com 结尾的数据。

在这里插入图片描述

九、修改数据:

updata <Name Of Table> set <key1> = <value1>  where <key0> = <value0>

这里 set 后面的参数是进行修改数值的,而where后面的参数是方便查找的哦。

例如:
修改之前:
在这里插入图片描述
进行修改的操作:

(修改)
在这里插入图片描述
修改之后的数据:
在这里插入图片描述
这样就完成了数据的修改的操作。

十、删除数据

delete from <Name Of Table> where <key0> = <value0>;

这个就是删除数据的语法了啦,具体的操作我们在这里不去进行了啦。

where 的后面的参数其实就是进行查询使用的啦。


到这里,我们已经完成了数据库的增删改查的操作了啦


下面我们再介绍几个常用的操作:

十一、一些其他常用的操作

1、union操作:

MySQL UNION 操作符用于连接两个以上的 SELECT 语句的结果组合到一个结果集合中。多个 SELECT 语句会删除重复的数据。

这里举一个例子:

SELECT country FROM Websites
UNION
SELECT country FROM apps
ORDER BY country;

想必其实大家都可以看懂这个例子的啦。

(UNION)
在这里插入图片描述

2、ALTER命令

当我们需要修改数据表名或者修改数据表字段时,就需要使用到MySQL ALTER命令。
这个其实时一般不太用,因此,只是提一句,希望大家知道有这么一个功能了啦。

3、SQL注入

如果您通过网页获取用户输入的数据并将其插入一个MySQL数据库,那么就有可能发生SQL注入安全的问题。

所谓SQL注入,就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。

我们永远不要信任用户的输入,我们必须认定用户输入的数据都是不安全的,我们都需要对用户输入的数据进行过滤处理。

4、MySQL 导出数据

MySQL中你可以使用SELECT…INTO OUTFILE语句来简单的导出数据到文本文件上。

例如:

mysql> SELECT * FROM runoob_tbl 
    -> INTO OUTFILE '/tmp/runoob.txt';

或者还可以指定csv格式:

mysql> SELECT * FROM passwd INTO OUTFILE '/tmp/runoob.txt'
    -> FIELDS TERMINATED BY ',' ENCLOSED BY '"'
    -> LINES TERMINATED BY '\r\n';

5、MySQL 导入数据

例如:

mysql -u用户名    -p密码    <  要导入的数据库数据(runoob.sql)

下面是一个实例:

mysql -uroot -p123456 < runoob.sql

或者还可以直接在MySQL命令行之中进行数据的读入操作:

mysql> create database abc;      # 创建数据库
mysql> use abc;                  # 使用已创建的数据库 
mysql> set names utf8;           # 设置编码
mysql> source /home/abc/abc.sql  # 导入备份数据库

6、MySQL的一些函数

MySQL 有很多内置的函数,以下列出了这些函数的说明。

MySQL 字符串函数

ASCII(s) 返回字符串 s 的第一个字符的 ASCII 码。

CHAR_LENGTH(s) 返回字符串 s 的字符数。

CHARACTER_LENGTH(s) 返回字符串 s 的字符数。

CONCAT(s1,s2…sn) 字符串 s1,s2 等多个字符串合并为一个字符串。

MySQL 数字函数

ABS(x) 返回 x 的绝对值。

ACOS(x) 求 x 的反余弦值(参数是弧度)。

ASIN(x) 求反正弦值(参数是弧度)。

AVG(expression) 返回一个表达式的平均值,expression 是一个字段。

COS(x) 求余弦值(参数是弧度)。

EXP(x) 返回 e 的 x 次方。

POW(x,y) 返回 x 的 y 次方。

POWER(x,y) 返回 x 的 y 次方。

RAND() 返回 0 到 1 的随机数。

ROUND(x) 返回离 x 最近的整数。

MySQL 日期函数

ADDDATE(d,n) 计算起始日期 d 加上 n 天的日期 。

ADDTIME(t,n) n 是一个时间表达式,时间 t 加上时间表达式 n

CURDATE() 返回当前日期。

CURRENT_DATE() 返回当前日期。

CURRENT_TIME 返回当前时间。

CURRENT_TIMESTAMP() 返回当前日期和时间。

CURTIME() 返回当前时间。

DAY(d) 返回日期值 d 的日期部分。

DAYNAME(d) 返回日期 d 是星期几,如 Monday,Tuesday。

DAYOFMONTH(d) 计算日期 d 是本月的第几天。

DAYOFYEAR(d) 计算日期 d 是本年的第几天。

7、MySQL的运算符

MySQL中的运算操作需要使用select来进行实现:
例如:

举例1:
mysql> select 2*3;
+-----+
| 2*3 |
+-----+
|   6 |
+-----+

举例2:
mysql> select 10 MOD 4;
+----------+
| 10 MOD 4 |
+----------+
|        2 |
+----------+

举例3:

不等于:

mysql> select 2<>3;
+------+
| 2<>3 |
+------+
|    1 |
+------

举例4:

安全等于:

mysql> select 2<=>3;
+-------+
| 2<=>3 |
+-------+
|     0 |
+-------+


mysql> select null=null;
+-----------+
| null=null |
+-----------+
|      NULL |
+-----------+

        
mysql> select null<=>null;
+-------------+
| null<=>null |
+-------------+
|           1 |
+-------------+

与 = 的区别在于当两个操作码均为 NULL 时,其所得值为 1 而不为 NULL,而当一个操作码为 NULL 时,其所得值为 0而不为 NULL。

举例5:
mysql> select 5 between 1 and 10;
+--------------------+
| 5 between 1 and 10 |
+--------------------+
|                  1 |
+--------------------+

举例6:
mysql> select 5 in (1,2,3,4,5);
+------------------+
| 5 in (1,2,3,4,5) |
+------------------+
|                1 |
+------------------+

举例7:
mysql> select '12345' like '12%';
+--------------------+
| '12345' like '12%' |
+--------------------+
|                  1 |
+--------------------+

mysql> select '12345' like '12_';
+--------------------+
| '12345' like '12_' |
+--------------------+
|                  0 |
+--------------------