A10 - 001、MySQL基础操作篇

0、本章学习目录大纲 - MySQL基础操作篇

初学耗时:2h

注:CSDN手机端暂不支持章节内链跳转,但外链可用,更好体验还请上电脑端。

一、MySQL元数据

二、输入查询
    2.1  查看当前mysql的版本号及当前时间。
    2.2  mysql中sql语句不区分大小写。
    2.3  可以进行简单的计算。
    2.4  多条语句比较短,可以写在一行。
    2.5  逗号分隔,分号结束。
    2.6  sql语句写了一半,又不想执行。

三、创建和使用数据库
  3.1  查看当前有哪些数据库。
  3.2  创建数据库。
  3.3  使用及切换数据库。

四、创建表及使用
    4.1  查看当前数据库有哪些表。
    4.2  创建一个表。
    4.3  校验创建表语句是否和执行的一致。
    4.4  查看表详情。

五、表中导入数据
  5.1  准备数据。
  5.2  导入数据方式①。
  5.3  导入数据方式②。

六、数据检索部分
    6.1  检索全部数据。
    6.2  删除表中全部数据。
    6.3  更新表中特定记录的数据。
    6.4  查询特定的行。
    6.5  检索特定的列。
    6.6  排序。
    6.7  日期计算。
    6.8  null和not null值。

七、MySQL编码、目录及配置文件
  7.1  编码mysql。
  7.2  mysql的目录及配置文件。



ギ 舒适区ゾ || ♂ 累觉无爱 ♀





一、MySQL元数据

A10 - 001、MySQL基础操作篇
A10 - 001、MySQL基础操作篇


趋于未来的选择都会在未来得以实现。.

- - - - - - - - - - - - - - - - - - - - - - - - - - - -


二、输入查询

  2.1 ~ 查看当前mysql的版本号及当前时间。

SELECT VERSION(), CURRENT_DATE;

  2.2 ~ mysql中sql语句不区分大小写。

SELECT VERSION(), CURRENT_DATE;
select version(), current_date;
SeLeCt vErSiOn(), current_DATE;

  2.3 ~ 可以进行简单的计算。

SELECT SIN(PI()/4), (4+1)*5;

  2.4 ~ 多条语句比较短,可以写在一行。

SELECT VERSION(); SELECT NOW();

  2.5 ~ 逗号分隔,分号结束。

多个字段之间可以用逗号分隔,多行组成一条语句结束以分号结束。

SELECT
-> USER()
-> ,
-> CURRENT_DATE;

  2.6 ~ sql语句写了一半,又不想执行。

mysql> select 
    -> user()
    -> \c


趋于未来的选择都会在未来得以实现。.

- - - - - - - - - - - - - - - - - - - - - - - - - - - -




三、创建和使用数据库

  3.1 ~ 查看当前有哪些数据库。

show databaes;

  3.2 ~ 创建数据库。

create database mydb;

  3.3 ~ 使用及切换数据库。

use mydb;


趋于未来的选择都会在未来得以实现。.

- - - - - - - - - - - - - - - - - - - - - - - - - - - -




四、创建表及使用

  4.1 ~ 查看当前数据库有哪些表。

show tables;

  4.2 ~ 创建一个表。

CREATE TABLE pet (name VARCHAR(20), owner VARCHAR(20),
species VARCHAR(20), sex CHAR(1), birth DATE, death DATE);

  4.3 ~ 校验创建表语句是否和执行的一致。

show create table pet;

  4.4 ~ 查看表详情。

desc pet;


趋于未来的选择都会在未来得以实现。.

- - - - - - - - - - - - - - - - - - - - - - - - - - - -




五、表中导入数据

  5.1 ~ 准备数据。

Fluffy Harold cat f 1993-02-04
Claws Gwen cat m 1994-03-17
Buffy Harold dog f 1989-05-13
Fang Benny dog m 1990-08-27
Bowser Diane dog m 1979-08-31 1995-07-29
Chirpy Gwen bird f 1998-09-11
Whistler Gwen bird 1997-12-09
Slim Benny snake m 1996-04-29

  5.2 ~ 导入数据方式①。

将以上数据整理成SQL语句,insert into pet…

  5.3 ~ 导入数据方式②。

    5.2.1 .  创建一个pet.txt的文件。

注:每个字段中用tab键隔开,字段没有值的记录用\N代替

Fluffy  Harold  cat     f       1993-02-04
Claws   Gwen    cat     m       1994-03-17
Buffy   Harold  dog     f       1989-05-13
Fang    Benny   dog     m       1990-08-27
Bowser  Diane   dog     m       1979-08-31      1995-07-29
Chirpy  Gwen    bird    f       1998-09-11
Whistler        Gwen    bird    \N      1997-12-09      \N
Slim    Benny   snake   m       1996-04-29
    5.2.2 .  加载数据。
load data local infile '/root/data/pet.txt' into table pet;
    5.2.3 .  校验是否加载进去。
select * from pet;


趋于未来的选择都会在未来得以实现。.

- - - - - - - - - - - - - - - - - - - - - - - - - - - -




六、数据检索部分

  6.1 ~ 检索全部数据。

select * from pet;

  6.2 ~ 删除表中全部数据。

DELETE FROM pet;
LOAD DATA LOCAL INFILE '/path/pet.txt' INTO TABLE pet;

  6.3 ~ 更新表中特定记录的数据。

UPDATE pet SET birth = '1989-08-31' WHERE name = 'Bowser';

  6.4 ~ 查询特定的行。

    6.4.1 .  字符串比较不区分大小写!
SELECT * FROM pet WHERE name = 'Bowser';
SELECT * FROM pet WHERE name = 'BowsEr';
SELECT * FROM pet WHERE name = 'BOWSER';
    6.4.2 .  查找生日在1998年以后的特定查询。
SELECT * FROM pet WHERE birth >= '1998-1-1';
    6.4.3 .  多条件查询(and | or)。
SELECT * FROM pet WHERE species = 'dog' AND sex = 'f';
SELECT * FROM pet WHERE species = 'snake' OR species = 'bird';
    6.4.4 .  优先执行括号中的逻辑。
SELECT * FROM pet WHERE (species = 'cat' AND sex = 'm')
OR (species = 'dog' AND sex = 'f');

  6.5 ~ 检索特定的列。

    6.5.1 .  检索特定的列。
SELECT name, birth FROM pet;
    6.5.2 .  查询不重复的字段要使用关键词DISTINCT。
SELECT DISTINCT owner FROM pet;
    6.5.3 .  可以使用组合条件查询特定的列。
SELECT name, species, birth FROM pet
WHERE species = 'dog' OR species = 'cat';

  6.6 ~ 排序。

    6.6.1 .  根据某个字段进行排序(关键词:ORDER BY )。
SELECT name, birth FROM pet ORDER BY birth;
    6.6.2 .  升降序排列(desc:降序;asc:升序)。
SELECT name, birth FROM pet ORDER BY birth desc;//降序排列
SELECT name, birth FROM pet ORDER BY birth asc ;//升序排列
    6.6.3 .  多列排序。

根据species字段升序排列,根据birth字段降序排列。

注: ORDER BY species 中无asc,desc,默认为升序排列

SELECT name, species, birth FROM pet
ORDER BY species, birth DESC;

  6.7 ~ 日期计算。

    6.7.1 .  查询当前的日期。
select curdate() from pet;
    6.7.2 .  获取当年的年。
select YEAR('2018-02-05') AS YEARS from pet;
    6.7.3 .  获取当年的月。
select month('2018-02-05') AS YEARS from pet;
    6.7.4 .  获取当年的日。
select day('2018-02-05') AS YEARS from pet;
    6.7.5 .  查看宠物多少岁。

查看宠物多少岁,就可以使用计算日期的函数TIMESTAMPDIFF()。

SELECT name, birth, death, TIMESTAMPDIFF(YEAR,birth,death) AS age
FROM pet WHERE death IS NOT NULL ORDER BY age;

  6.8 ~ null和not null值。

对一些字段类型要进行检查,判断某些字段是否为NULL,或者 not-NULL。

SELECT name, birth, death, TIMESTAMPDIFF(YEAR,birth,death) AS age
FROM pet WHERE death IS NOT NULL ORDER BY age;


趋于未来的选择都会在未来得以实现。.

- - - - - - - - - - - - - - - - - - - - - - - - - - - -




七、MySQL编码、目录及配置文件

  7.1 ~ 编码mysql。

    7.1.1 .  查看mysql编码。
show variables like 'character%';
    7.1.2 .  设置mysql编码。
vim /etc/my.cnf
[mysqld]
character-set-server=utf8 
collation-server=utf8_general_ci 
sql_mode='NO_ENGINE_SUBSTITUTION'

[mysql]
default-character-set = utf8

[mysql.server]
default-character-set = utf8

[mysqld_safe]
default-character-set = utf8

[client]
default-character-set = utf8
    7.1.3 .  重启mysql。
service mysqld restart;
service mysqld stop;
service mysqld start;

  7.2 ~ mysql的目录及配置文件。

    7.2.1 .  /etc/my.cnf,主配置文件。
    7.2.2 .  /var/lib/mysql,数据库文件存放位置。
    7.2.3 .  /var/log/mysql,数据库的日志输出存放位置。
    7.2.4 .  查看端口。
netstat -nltp

cat mysql.pid


趋于未来的选择都会在未来得以实现。.

- - - - - - - - - - - - - - - - - - - - - - - - - - - -



^ 至此,MySQL基础操作篇完成。


- - - - - - - - - - - - - - - - - - - - - - - - - - - -


※ 世间诱惑何其多,坚定始终不动摇。

勿以恶小而为之,勿以善小而不为。
A10 - 001、MySQL基础操作篇



趋于未来的选择都会在未来得以实现。.

- - - - - - - - - - - - - - - - - - - - - - - - - - - -


注:CSDN手机端暂不支持章节内链跳转,但外链可用,更好体验还请上电脑端。

我知道我的不足,我也知道你的挑剔,但我就是我,不一样的烟火,谢谢你的指指点点,造就了我的点点滴滴:)!



趋于未来的选择都会在未来得以实现。.


上一篇:ESP32 与 ESP32-C3 可用存储空间对比


下一篇:ESP32开发之路(1)— 搭建在Windows下的开发环境