MySQL基础知识
1、MySQL简介
MySQL它有MySQL服务器和MySQL客户端
(Linux安装MySQL的链接https://dev.mysql.com/downloads/repo/yum/),
(windows系统的安装连接https://dev.mysql.com/downloads/installer/)
https://dev.mysql.com/downloads/mysql/
mysql我们并不能很直观的看到图像和数据,所以就产生了有很多MySQL的管理工具。
SQLyog 是一款简洁高效,功能强大的MySQL 数据库管理工具。使用SQLyog 可以快速直观地让用户完成对数据库的操作。例如SQLyog,该工具可从SQLyog官网http://www.webyog.com下载。SQLyog安装过程比较容易,这里不多说。
2、MySQL和Oracle区别
01:区别:Oracle数据库收费的 MySQL开源的免费
Oracle是大型数据库而Mysql是中小型数据库,
02:类型的区别
mysql:
01、mysql没有number、varchar2()类型;
02、mysql可以声明自增长:auto_increment;
03、mysql有double,float类型;
oracle:
01、oracle没有double类型、有int类型但多数会用number来代替int;
02、oracle不可以声明自增长:auto_increment,主键自带自增长;
03、oracle小数只有float类型;
03: oracle sql语句和mysql sql语句有一定的区别:
01、oracle左连接,右连接可以使用(+)来实现.
Mysql只能使用left join ,right join等关键字.
04、空字符串问题
Oracle中空字符串’‘就是null(也就是说,只有null,没有空字符)
,而MySQL是区分null和’'的。
3、SQL的新增删除修改
01、新增数据
insert into 表名(列1,列2...列N) values(值1,值2...值N);
02、删除数据
021、删除数据库表的数据
delete from 表名
where过滤条件
022、drop table 表名;–>删除表的数据与结构
delete from 表名;–>仅删除表的数据,可以回滚rollback;
truncate table 表名;–>仅删除表的数据,不可以回滚
03、查询数据(有很多的语法的,例如左,右链接,全链接,内链接等)
select 列1,列2,列3…列N 或 *
from 表名/(表达式)
[where 过滤条件]
[group by 分组内容]
[having 组内条件]
[order by 排序方式]
04、修改数据
update 表名
set 列1 = 值1,列2 = 值2…列N = 值N
where过滤条件;
4、MySQL常用函数
01、limit
Select * from table order by column_name desc limit 2;
显示将table表中按照column_name属性进行降序排序的所有数据,并且只取前两行数据。
02、as
Select column_name as new_name from table;
这里的as是定义别名,将table表中的column_name使用别名new_name替换并显示数据。
03、count()
select count(*) from table;
显示table表中的数据条数;
04、sum()
select sum(column_name) from table;
显示table表中的column_name所有属性值之和。
05、avg()
select avg(column_name) from table;
显示table表中的column_name属性值的平均值。
06、max()
select max(column_name) from table;
显示table表中的column_name属性值的最大值。
07、min()
select min(column_name) from table;
显示table表中的column_name属性值的最小值。
08、having
having的作用和where的作用类似,但是where不能和聚合函数(max,min,sum,avg等)一起使用,因此需要having。
比如,
select * from table where max(column_name);
就不符合语法,改为如下才符合
select * from table having max(column_name);
09、in 相当于 or
in查询相当于多个or条件的叠加,这个比较好理解,比如下面的查询
select * from user where userId in (1, 2, 3);
等效于
select * from user where userId = 1 or userId = 2 or userId = 3;
not in与in相反,如下
select * from user where userId not in (1, 2, 3);
等效于
select * from user where userId != 1
and userId != 2 and userId != 3;
总的来说,in查询就是先将子查询条件的记录全都查出来,
10、拼接字符串
CONCAT(str1,str2,…)
select concat(‘my’,‘s’,‘q’,‘l’)
查询结果==>mysql
5、MySQL导入
01、
02、
![在这里插入图片描述](https://img-blog.csdnimg.cn/a878d0239759445dae022673bc01e098.png#pic_center)
03、
![在这里插入图片描述](https://img-blog.csdnimg.cn/6fa0933454da4de18363da0cee1f9940.png#pic_center)
04、
![在这里插入图片描述](https://img-blog.csdnimg.cn/53105d6f27864c23bac4699e51c57bd2.png#pic_center)
6、MySQL启动时出现的问题
01、ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (10061)
打开计算机管理连的服务中的mysql服务都没有
C:\Program Files\MySQL\MySQL Server 8.0\bin>mysqld.exe -install
The service already exists!
The current server installed: “C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqld.exe” MySQL
02、ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost:3306' (10061)
首先,你需要把原来的服务删除: