mysql学习笔记

第一部分,数据库介绍

1.DBMS:数据库管理系统,一个管理数据库的软件,通常所说的数据库(Oracle、DB2、MySQL、SQL Server)都是指的数据库管理系统。

2.常见数据库:
a.Oracle:运行稳定,可移植性高,功能齐全,性能超群,适用于大型企 业领域,甲骨文公司的产品,收费!
b.DB2:速度快,可靠性好,适用于海量数据,恢复性极强,适用于大中 型企业领域,IBM公司的产品,收费!
c.MySQL,开源,体积小,速度快,适用于中小型企业领域,甲骨文公司产品,免费!
d.SQL Server:全面,效率高,界面好,操作容易,但是不跨平台,适用 于中小型企业领域,微软公司产品,收费!

3.数据库类型:关系型数据库(Oracle、DB2、MySQL、SQL Server),非关系型数据库NOsql(MongoDB、Redis、HBase)。

4.RDBMS(关系型数据库)专业术语:数据库,表,列,行,主键,外键,索引。

5.修改MySQL数据库的密码:
方法一:命令提示符中,在数据库”MySQL”下执行:alter user ‘root’@’localhost’ identidied by ‘新密码’;
方法二:在命令提示符下执行:mysqladmin -u root –p ‘新密码’; 回车后 输入’旧密码’。

6.语句结束要用分号;

7.MySQL数据库:
A.系统数据库(安装完成之后默认自带4个):
a.Information_schema:存储数据库对象信息,如用户表信息,列信息,里面的内容不能动。
b.Performance_schema:存储数据库服务器性能参数信息,里面的内容不能动。
c.Mysql:存储数据库用户权限信息。
d.Sys:通过这个库可以快速的了解系统的元数据信息,以视图的形式把Information_schema和Performance_schema结合起来,让用户更容易理解相关的数据。
B.用户数据库,用户自己创建的数据库。

8.常用命令:
a.创建数据库:Create database 数据库名;
b.删除数据库:drop database 数据库名;
c.查看数据库:show databases;
d.使用数据库:use 数据库名;
e.查看数据库表:show tables;

9.常用的图形化管理工具:Navicat,要先安装好数据库才能安装Navicat,否则会报错。

10.MySQL 的端口号:3306

11.目前通用的字符集编码是:utf-8

12.数据库对象:存储、管理和使用数据的不用结构形式,如:表,视图,存储过程,函数,触发器,事件等。

13.数据库:存储数据库对象的容器。

14.存储引擎:MySQL中的数据都使用各种不同的技术存储在文件中,每一种技术都使用不同的存储机制,索引技巧,锁定水平,并且最终提供不同的功能和能力,这种存储技术就叫做存储引擎,存储引擎分为以下几种:
a.MYISAM:不支持事务,也不支持外键,访问速度快,对事务完整性没有要求或者以select、insert为主的应用基本都可以使用这个引擎。MySQL5.5及以前的版本默认的存储引擎就是MYISAM。
b.INNODB:支持事务,提供了具有提交、回滚、崩溃恢复能力的事务安全。但是处理效率没有MYISAM高。MySQL5.5之后的版本默认的存储引擎为INNODB。
c.MEMORY:使用内存来存储数据,访问非常快,但是不安全,一旦服务器关闭数据就会丢失。

15.文件.frm存储表定义,.myd(mydata)存储数据,.MYI(myindex)存储索引。(在data文件夹下)
**

第二部分,SQL语言

**

16.Sql分类:
a.DDL:数据定义语言(跟表结构相关的操作,与表里面的数据无关),用来定义数据库对象,常用的语句有:
Create database 创建数据库,命令:Create database 数据库名 character set utf8;
create table创建数据库表,命令:create table 表名(列名1 数据类型,列名2 数据类型);
rename table原表名 to 新表名; 修改表的名字
Desc 查看表的字段信息,命令:dese 表名;
Show create table 查看创建表的信息,命令:show create table 表名;
create index创建数据库表的索引,
drop table删除数据库表,
drop index删除数据库表的索引,
truncate删除表中的所有行,
alter table更改表结构(如增加、修改、删除列) ,命令:
alter table 表名 add 列名 数据类型;添加列
Alter table 表名 drop 列名;删除列
Alter table 表名 modify 列名 数据类型; 修改列的数据类型
Alter table 表名 change 原列名 新列名 数据类型;修改列名
alter table add constraint在已有的表上增加约束,
b.DML:数据操作语言(针对表里面的数据),用来操作数据库表中的记录,常用的语句有:
Insert添加数据到数据库中,命令:insert into 表名(列1,列2,列3,列4) values (值1,值2,值3,值4);
Update修改数据表中的数据,命令:update 表名 set 列名=新数据 where 列名=值;
Delete删除数据库中的数据,命令:delete from 表名 where 条件;
c.DQL:数据查询语言,用来查询数据,常用的语句有:
Select选择(查询)数据,
Select语句的书写顺序:
Selectfromwheregroup byhavingorder bylimit;
Select语句的执行顺序:
Fromwheregroup byhavingselectorder bylimit;
模糊查询:使用like关键字,下划线‘_’代表一个字符,百分号%代表任意字符。
字段控制查询:
–去除重复记录,命令:select distinct 字段名 from 表名;
–把查询字段的结果进行运算生成新的字段,必须都是数据型,例如:SELECT * , IFNULL(age ,0) + IFNULL(score,0) FROM student;
–对查询结果取别名,用as关键字。
查询结果排序:使用关键字order by,ASC升序(默认),DESC降序。
聚合函数:
Count():统计制定列不为NULL的记录行数;与NULL值的字段进行计算时,结果都为NULL,可以使用IFNULL(字段名,0),把NULL字段设置为0再参加计算。
Max():计算制定列的最大值;
Min():计算制定列的最小值;
Sum():计算制定列的和;
AVG():计算制定列的平均值;
分组查询,在使用分组查询时,select后面直接跟的字段一般都要在group by后面出现。
–Group by 只显示每个组的第一条记录,但与distinct去重复不一样。
–Group by + group_concat(),可以显示每个分组里面包含的记录的集合。
–Group by + 聚合函数,对分组之后的数据做计算。
–Group by + having ,用来分组查询后指定一些条件来输出查询结果。Having的作用于where一样,但having只能用在group by 后面。
Having 与where的区别:
–Having是指分组后对数据进行过滤;
–Where是在分组前对数据进行过滤;
–Having后面可以使用聚合函数;
–Where后面不能使用聚合函数;
Limit,指定从哪一行开始,总共查询几行(行数从0开始计数)。
格式:select * from 表名 limit 参数1,参数2;,
例如,limit 0,3,表示从第1行开始查询,一共查3条数据。
条件查询运算符及关键字有:
运算符:=(等于)、!=(不等于)、<>(不等于)、<(小于)、<=(小于等于)、>(大于)、>=(大于等于)
关键字有:
Between….and;值在什么范围内。
In(集合);值包含在集合中。
Is null;值为空,is not null;值不为空。
And;与
Or; 或
Not;非
d.DCL:数据控制语言,用来定义访问权限和安全级别,常用的语句有:
Grant将权限或角色授予用户,
Revoke从用户或数据库角色中回收权限,
Lock对数据库的特定部分进行锁定,
e.TCL:事务控制语言,常用语句有:
Commit提交事务处理,
Rollback事务处理回滚,
Savepoint设置保存点,

17.结果集指的是查询结果显示的表格。

18.常用数据类型:
Double:浮点型,例如double(5,2)表示最多5位,其中必须有2位小数;
Char:固定长度字符串类型;
Varchar:可变长度字符串类型;
Text:字符串类型,用于存储大文本;
Blob:二进制类型,可用于存储二进制文件,如声音、视频、图片;
Date:日期类型,格式为:yyyy-mm-dd
Time:时间类型,格式为:hh:mm:ss
Datetime:日期时间型,格式为:yyyy-mm-dd hh:mm:ss

19.在MySQL中,字符串类型和日期类型都要用单引号括起来,比如:’mysql’,’2020-01-01’

20.在命令提示行窗口里面用select语句,可以在语句结尾处加上 \G ;,来改变显示的效果(按每条记录来显示)。

21.Ctrl键加/,可以对一行进行注释。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值