关系数据库的学习
文章目录
1.连接数据库
mysql -u用户名 -p密码
2.显示已有数据库
show databases;(其中databases加s的意思是,展示全部的数据库)
3.创建数据库
create database stu;
4.选择数据库
use database stu;
其中(会显示sucess)
5.显示数据库中的表(先选择数据库)
show tables;
6.删除数据库(删除时没有提示直接删除)
drop database stu;
2.使用select查询
select 列名/表达式/函数/常量 from 表名 where 查询条件 order by 排序的列名asc/desc;
(1)查询所有的数据行和列:
select * from 表名;
(2)查询部分行和列:
select 列名… from 表名 where 查询条件;
(3)在查询中使用列的别名:
select 列名 AS 新列名 form 表名 where 查询条件;
计算,合并得到新的列名:
select 列名1+’.’+列名2 AS 新列名 from 表名;
(4)查询空值:
通过is null 或者 is not null 判断列值是否为空
(这里我经常会使用错误)
3.聚合函数:
(1)AVG (平均值):select avg(列名)from 表名
还可以加上where字段进行判断
(2)count 返回某字段的行数
(3)max 返回某字段的最大数
(4)min 返回某字段的最小值
(5)sum 返回某字段的和。
4.时间日期函数:
(1)获取当前日期:curdate();
(2)获取当前时间:curtime();
(3)获取当前日期和时间:now();
(4)返回日期date为一年中的第几周:week(date);
(5)返回日期date的年份:year(date);
(6)返回时间time的小时值:hour(time);
(7)返回时间time的分钟值:minute(time);
(8)返回日期参数(date1和date2之间相隔的天数):datediff(date1,date2);
5.order by 子句
order by子句按照一定的顺序排列查询结果,asc升序排列,desc降序排列。
他主要用于查询顺序的排序。
6.创建索引:
create 【索引类型】index 索引名 on 表名 (创建索引的列);
或者创建表时之间在列后面加上索引类型。
或者修改表alter table 表名 add index 索引名 (索引列);
删除索引:drop index 索引名;
查看索引:show index from 表名;
7.模糊查询
in子查询******not in 子查询
使用in关键字可以使父查询匹配子查询返回的多个单字段值。
解决使用比较运算符(=,>等),子查询返回值不唯一错误信息。
like模糊查询
LIKE语句语法格式:select * from 表名 where 字段名 like 对应值(子串)。
其中_ 表示任何单个字符,%代表任意长度的字符串。
8.使用mysql命令恢复数据库(先创建新的数据库)
mysql -u -p 新创建数据库名<所要恢复数据库位置及文件名;
source命令恢复数据库
source 数据库备份文件;(这一资料是在网上进行查找的)
总结
关系数据库内容比较多,需要花大量的时间学习和联系。