mysql基础知识有哪些

59次阅读
没有评论

共计 3226 个字符,预计需要花费 9 分钟才能阅读完成。

本篇内容介绍了“mysql 基础知识有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让丸趣 TV 小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

第一章 mysql 的安装和配置
1 mysql 数据库版本:社区版、企业版
2 mysql 数据库类型:standard、max、debug
3 windows 下安装 mysql:noinstall、图形化方式安装
4 linux 下安装 mysql:rpm 包、二进制包、源码包
5 mysql 服务和 mysql 数据不同,mysql 服务是一系列后台进程,而 mysql 数据库则是一系列的数据目录和文件;mysql 数据库必须在 mysql 服务启动之后才可以进行访问。这点和 oracle 类似。
6 linux 平台下启停 mysql 服务:
  命令行:
  启动:# cd /usr/bin
  # ./mysqld_safe
  关闭:# mysqladmin -uroot shutdowm
  服务的方式:
  启动:# service mysql start
  关闭:# service mysql stop
第二章 sql 基础
1 SQL:structure query language
2 sql 分类:DDL、DML、DCL
3 连接 mysql:$ mysql -uroot -p**** -hlocalhost -P3306
4 your mysql connection id is 7344941: 这个数字记录了 mysql 服务到目前为止的连接次数,每个新连接都会自动加 1
5 创建数据库:mysql create database test1;
6 查看当前有多少数据库:mysql show databases;
7 默认数据库的功能:
  information_schema: 主要存储了系统中的一些数据库对象信息,比如用户表信息、列信息、权限信息、字符集信息、分区信息等。
  cluster: 存储了系统的集群信息
  mysql: 存储了系统的用户权限信息
  test: 系统自动创建的测试数据库,任何用户都可以使用。
8 选择数据库并查看该库中的表:
  mysql use test1
  mysql show tables;
9 查看当前的数据库信息以及用户信息:mysql status
10 删除数据库:mysql drop database test1;
11 创建表:
  mysql create table emp(ename varchar(10),hiredata date,sal decimal(10,2),deptno int(2));
  mysql desc emp;
  mysql show create table emp \g;
  PS:\g 含义是使得记录能够按照字段竖向排列,以便更好地显示内容较长的记录。
12 删除表:mysql drop table emp;
13 修改表:
  修改表字段属性:alter table emp modify ename varchar(20);
  增加表字段:alter table emp add column age int(3);
  删除表字段:alter table emp drop column age;
  表字段改名:alter table emp change age age1 int(4);
  修改表字段排列顺序:alter table emp add birth data after ename;alter table emp modify age int(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)
+——+———-+
| 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 基础知识有哪些”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注丸趣 TV 网站,丸趣 TV 小编将为大家输出更多高质量的实用文章!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-07-19发表,共计3226字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)