本文介绍了“mysql的基础知识是什么”的知识。很多人在实际案件操作中都会遇到这样的困难。接下来,让边肖带领大家学习如何应对这些情况!希望大家认真阅读,学点东西!
第1章mysql的安装和配置
1 mysql数据库版本:社区版、企业版
2种mysql数据库类型:标准、最大、调试
在Windows下安装MySQL:no install,图形化安装
在Linux下安装MySQL:RPM:RPM包,二进制包和源码包。
5 mysql服务不同于mysql数据。mysql服务是一系列后台进程,而mysql数据库是一系列数据目录和文件。mysql数据库只能在mysql服务启动后才能访问。这类似于甲骨文。
Linux平台下mysql服务的启动和停止:
命令行:
开始:# cd /usr/bin
# ./mysqld_safe
关闭:# mysqladmin -uroot shutdowm
服务模式:
开始:#服务mysql开始
关闭:#服务mysql停止
第二章sql基础
1 SQL:结构查询语言
2 sql分类:DDL、DML、DCL
3连接MySQL:$ MySQL-uroot-p * * * *-hlocahost-p 3306
数字4你的mysql连接ID是73449413360记录了MySQL服务到目前为止的连接次数,每个新连接会自动加1。
5创建数据库:mysql创建数据库test1
6查看目前有多少数据库:mysql展示数据库;
7默认数据库的功能:
Information_schema:主要存储系统中的一些数据库对象信息,如用户表信息、列信息、权限信息、字符集信息、分区信息等。
集群:存储系统的集群信息
Mysql:存储系统的用户权限信息。
Test:是系统自动创建的测试数据库,任何用户都可以使用。
8选择一个数据库并查看数据库中的表:
mysql使用test1
mysql显示表格;
9查看当前数据库信息和用户信息:mysql状态
10删除数据库:mysql删除数据库test1
1创建表格:
mysql创建表emp(ename varchar(10),hiredata date,sal decimal(10,2),dept no int(2));
MySQL desc EMP;
mysql显示创建表EMP \ g;
PS:\g意味着记录可以按字段垂直排列,以便更好地显示内容较长的记录。
12删除表:mysql删除表emp
13修改表格:
修改表字段属性:alter table EMP修改名称varchar(20);
添加表字段:alter table EMP add column age int(3);
删除表字段:更改表emp删除列年龄;
表名更改:alter table EMP更改年龄1 int(4);
修改表字段的顺序:更改表EMP在名字后添加出生数据;修改表emp修改年龄I
nt(3) first;
更改表明:alter table emp rename emp1;
14 插入记录:
insert into emp(ename,hiredata,sal,deptno) values('zzx1','2000-01-01','2000',1);
insert into emp values('lisa','2003-02-01','3000',2);
insert into dept values(5,'dept5'),(6,'dept6');
15 更新记录:
update emp set sal=4000 where ename='lisa';
PS:注意要带where子句,不然会把表中所有行该字段都更新为lisa,很多人不小心都会犯这个错误。
16 删除记录:
delete from emp where ename='dony';
delete a,b from emp a,dept b where a.deptno=b.deptno and a.deptno=3;
17 查询记录:
select * from emp;
slelect ename,hiredate,sal,deptno from emp;
select distinct deptno from emp;
select * from emp where deptno=1 and sal<3000;
select * from emp order by sal; desc表示按照字段进行降序排列,asc表示升序排列。默认是按照升序排列。
select * from emp order by deptno,sal desc;
select * from emp order by sal limit 3;
select * from emp order by sal limit 1,3;
sum(求和),count(记录数),max(最大值),min(最小值)
with rollup 是可选语法,表明是否对分类聚合后的结果进行再汇总。
having和where的区别在于,having是对聚合后的结果进行条件过滤,而where是在聚合前就对记录进行过滤,如果逻辑允许,我们尽可能用where先过滤记录,这样因为结果集减小,将对聚合的效率大大提高,最后再根据逻辑看是否用having进行再过滤。
mysql> select id,count(*) from t group by id;
+------+----------+
| id | count(*) |
+------+----------+
| 1 | 1 |
| 2 | 2 |
| 3 | 3 |
| 4 | 4 |
+------+----------+
4 rows in set (0.00 sec)
mysql> select id,count(*) from t group by id with rollup;
+------+----------+
| id | count(*) |
+------+----------+
| 1 | 1 |
| 2 | 2 |
| 3 | 3 |
| 4 | 4 |
| NULL | 10 |
+------+----------+
5 rows in set (0.00 sec)
mysql> select id,count(*) from t group by id having count(1)>2;
+------+----------+
| id | count(*) |
+------+----------+
| 3 | 3 |
| 4 | 4 |
+------+----------+
2 rows in set (0.08 sec)
select ename,deptname from emp,dept where emp.deptno=dept.deptno;
select ename,deptname from emp left join dept on emp.deptno=dept.deptno;
select ename,deptname from dept right join emp on dept.deptno=emp.deptno;
select * from emp where deptno in (select deptno from dept);
select * from emp where deptno = (select deptno from dept limit 1);
union 和union all的主要区别是union all是把结果集直接合并在一起,而union是将union all后的结果进行一次distinct,去除重复记录后的结果。
表连接在很多情况下用于优化子查询。
“mysql基础知识有哪些”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!
内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/101153.html