MySql学习笔记(一):创建数据库,创建表,加载数据,数据检索

一、准备工作

1.1 安装mysql

一路next的操作这里就不做记录了。

1.2 配置mysql

  1. 安装完成后,将下面路径C:\Program Files\MySQL\MySQL Server 5.7\bin配置到环境变量中去。
  2. 控制台下,输入>mysql -hlocalhost -uroot -p123456,进入mysql。

二、创建并且使用databases

2.1 查看已有databases

show databases命令和use tb_test
在这里插入图片描述

2.2 创建表

  1. show tables命令
    在这里插入图片描述
  2. create table命令和describe命令
    在这里插入图片描述
    showtables命令

2.3 向表中添加数据

  1. load data local infile 'c:/pet.txt' into table pet命令,加载txt文件中数据。
    首先,先写一个pet.txt文件,里面的数据用tab隔开,
    在这里插入图片描述
    然后,对pet.txt中的数据进行加载,
    在这里插入图片描述
    在这里插入图片描述
  2. insert into pet values()命令
    在这里插入图片描述

2.4 检索表中数据

2.4.1. select * from pet命令,查询整个表 在这里插入图片描述

2.4.2. update pet set birth = '1989-08-31' where name = 'Bowser';命令 如果检索到的数据有误,对表中数据进行更新

在这里插入图片描述
现在发现,Bowser这条小狗的出生日期登记有误,进行更新,
在这里插入图片描述

2.4.3. 检索满足特定要求的记录(一个记录也就是一行)。

1 .select * from pet where name = 'Bowser';命令
在这里插入图片描述
2 SELECT * FROM pet WHERE birth >= '1989-09-01';命令
在这里插入图片描述
注意!!! 这里的关键字都进行了大写!!!因为如果不大写关键字会产生错误,说是mysql语法错误!!!
在这里插入图片描述
因此,最好养成大写关键字的习惯。前面的截图效果,都是用小写来记录,就偷个懒不从头更改了。从这里开始,大写关键字。所以标红字体,在此做个记录!!!

3.SELECT * FROM pet WHERE species = 'dog' AND sex = 'f';命令。
在这里插入图片描述
4. SELECT * FROM pet WHERE species = 'snake' OR species = 'bird';命令
在这里插入图片描述
5. SELECT * FROM pet WHERE (species = 'cat' AND sex = 'm') OR (species = 'dog' AND sex = 'f');命令
在这里插入图片描述

2.4.4. 按照列来检索

  1. SELECT name,birth FROM pet;SELECT owner FROM pet;
    在这里插入图片描述
    在这里插入图片描述

  2. SELECT DISTINCT owner FROM pet;命令
    在这里插入图片描述

  3. SELECT name,species,birth FROM pet WHERE species = 'dog' OR species = 'cat';命令
    在这里插入图片描述

2.4.5. 对检索结果进行排序

  1. SELECT name,birth FROM pet ORDER BY birth; 命令
    在这里插入图片描述2. SELECT name,birth FROM pet ORDER BY birth DESC;命令,降序排列
    在这里插入图片描述
  2. SELECT name,species,birth FROM pet ORDER BY species,birth DESC;命令
    在这里插入图片描述

2.4.6. 带日期计算的检索

  1. SELECT name,birth,CURDATE(),TIMESTAMPDIFF(YEAR,birth,CURDATE()) AS age FROM pet ORDER BY name;命令在这里插入图片描述
  2. SELECT name,birth,death,TIMESTAMPDIFF(YEAR,birth,death) AS age FROM pet WHERE death IS NOT NULL ORDER BY age;命令
    在这里插入图片描述
  3. MONTH()命令
    在这里插入图片描述
  4. SELECT name,birth FROM pet WHERE MONTH(birth) = MONTH(DATE_ADD(CURDATE(),INTERVAL 1 MONTH));命令
    在这里插入图片描述
    在这里插入图片描述

2.4.7. 模式匹配 ( Pattern Matching )

  与Unix中的vi,grep,sed命令类似,MySQL提供了模式匹配的检索方式。其中使用_来匹配单一字符,使用%来匹配任意数量的字符和空字符。最后值得一提的一点是,这里使用LIKENOT LIKE来作为比较运算符,而不是=

  1. 利用%匹配开头和结尾。
    在这里插入图片描述
  2. 利用%匹配任意位置
    在这里插入图片描述
  3. 利用_匹配包含5个字符的字符串
    在这里插入图片描述
  4. REGEXP命令实现LIKE命令的功能
    在这里插入图片描述
    在这里插入图片描述

2.4.8. 利用COUNT(*)计算行数

  1. SELECT COUNT(*) FROM pet;命令
    在这里插入图片描述
  2. SELECT owner,COUNT(*) FROM pet GROUP BY owner;命令
  3. SELECT species, sex, COUNT(*) FROM pet GROUP BY species, sex;命令
    在这里插入图片描述
    注意!!!使用COUNT(*)时,如果还想要指定其它列,必须加GROUP BY语句。否则会出错!!!
    在这里插入图片描述

这里补充一些sql_mode的概念。
sql_mode: 它定义了你的MYSQL应该支持的SQL语法和对数据的校验等等。
可以使用SELECT @@sql_mode;命令查看你当前的sql_mode
在这里插入图片描述

2.4.9. 多表检索

  再创建一个event表,在event.txt中填入数据。
  执行LOAD DATA LOCAL INFILE 'c:/event.txt' INTO TABLE event LINES TERMINATED BY '\r\n'; 命令(这里是Windows系统),将event.txt中的数据加载到event表中。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
1.

mysql> SELECT pet.name,TIMESTAMPDIFF(YEAR,birth,date) AS age, remark
    -> FROM pet INNER JOIN event
    -> ON pet.name = event.name
    -> WHERE event.type = 'litter';

在这里插入图片描述
2.

mysql> SELECT p1.name,p1.sex,p2.name,p2.sex,p1.species
    -> FROM pet AS p1 INNER JOIN pet AS p2
    -> ON p1.species = p2.species
    -> AND p1.sex = 'f' AND p1.death IS NULL
    -> AND p2.sex = 'm' AND p2.death IS NULL;

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值