今天我们开始学MYSQL,学习本课程之前,你需要先正确安装好mysql5.7,并配好了环境变量(将mysql的bin路径添加到系统变量path中)。本教程主要参考了mysql的官方文档。(https://dev.mysql.com/doc/refman/5.7/en/tutorial.html)
(1)从cmd连接数据库:
mysql -h localhost -u root -p 回车之后输入密码再回车就好了
注释:localhost就是主机名或者IP地址,所以这里把localhost改成127.0.0.1也是No趴粪的;root就是我的mysql用户名;而输入-p回车之后再输入的密码就是mysql的密码了
(2)断开连接:
quit
(3)查看mysql版本、当前日期、具体到秒的时间、用户信息(注意命令以;结束):
select version(),current_date,now(),user();
(4)把mysql当计算器使用:
select sin(pi()/4);
(5)查看数据库:
show databases;
(6)访问某个数据库,或者检查下它是否存在(这个命令也可以不用分号结束,这里访问了名为"salary"的数据库):
use salary
(7)创建数据库(名称为"mydb"):
create database mydb;
(8)在use mydb之后,查看数据库mydb中的表:
show tables;
(9)创建一个名为pet的表:
(10)查看一下新建的表pet的结构:
describe pet;
(11)从本地一个文本文档pets.txt为pet导入数据:
load data local infile 'E://pets.txt' into table pet;
或者:
使用insert命令添加记录:
(12)查询:
①查询所有记录:
select * from pet;
②使用where按条件查询:
下面使用and、or这些关键字:
下面只投影name、owner:
使用distinct关键字,去重,比如上面表的owner一列中,Harold出现了不止一次,我们现在只投影出owner这一列并去重:
使用order by,注意order by子句应该在where子句之后。下面按birth排序(可以看到是升序排序):
如果要降序排序,用desc关键字:
还可以用多列排序,我们用species和birth,那么会先用species按字母排序,再按日期降序排序:
使用in关键字:
使用between关键字:
使用like模糊查询:
查询name以b开头(可以看到以B/b开头的都被查出来了,也就是它不分大小写的):
查询name以y结尾:
查询name包含w的:
查询name包含5个字符的,所以用like '_____' :
使用正则表达式regexp关键字:
查询name以b/B开头的:
查询name包含w字符的:
用函数查询:
avg(平均) count(计数) max(最大值) min(最小值) sum(总和)
比如使用count()函数,找出pet表中有几行death字段不为空的:
使用group关键字,查询每位主人(用owner标识)拥有几只宠物(宠物用name唯一标识):
进一步使用having关键字,筛选出拥有超过2只宠物的owner及其宠物数量:
注意having用于对函数产生的值设定条件,通常放在一个sql语句的最后,一个含有having子句的sql不一定要包含group by子句。
alias : sql中的别名通常有两种:栏位别名和表别名。别名是为了让sql易读。
(13)删除表pet所有数据(但没有删除该表):
delete from pet;
(14)用update语句修改某一条记录:
今天先到这里啦,明天继续sql 链接、约束、索引、视图等概念和命令。Good Night~