MySQL数据库涉及的基础知识点

7 篇文章 0 订阅
描述
/etc/my.cnfMySQL主配置文件
/var/lib/mysql数据库目录
3306默认端口号
mysqldMySQL主进程名称
TCP传输协议
mysql:mysql进程所有者与所属组
/var/log/mysqld.log错误日志文件

数据库:数据库不存放数据,存放数据的数据(metadata,元数据)
性能:CPU>内存>磁盘>数据库
数据库查询能力很顶,所以数据库放的是数据的元数据,需要时根据元数据查找数据本身.

Mysql是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。
现在创始人为了应付闭源风险,又写了个Mariadb。

(Mysql和 Mariadb不完全兼容,两个软件配置文件和数据库位置一模一样,因此不能同时存在)
MySQL的安装部署

1.下载mysql的RPM包并起服务,随机密码放在日志中(/var/log/mysqld.log)
2.登录后通过ALTER USER配置密码,不然数据库无法正常使用。
#密码规则:8位且包括数字+大小写+特殊符号
mysql>alter user user() identified by “123456”;

MySQL数据库基本管理

1.数据库操作基本流程
✓ 连接登陆数据库
✓ 创建数据库
✓ 创建数据表
✓ 插入数据记录
✓ 断开连接
连接 MySQL 的方法:命令行、Web 网页、安装图形软件、编写脚本(PHP、java…)

图形管理工具—>phpmysqladmin(开源),navicat(教学可能会侵权,自己去看)
##Navicat(能管理各种数据库)

注意事项:
操作指令不区分大小写(密码和变量除外)
每条SQL语句都以分号;结束
默认不支持Tab键补齐
\c 可以取消书写错误的命令

常用的SQL命令分类:
DDL(Database Define Language)数据定义语言(create,alter,drop)
DML(D,Manger,L))数据操作语言(insert,update,delete)
DCL(D,Control,L)数据控制语言(grant,revoke)
DTL(D,Task,L) 数据事务语言(commit,rollback,savepoint)
(事务—>由多条命令组成,要么全ok要么全不ok)

基本命令:

-show databases;								#查看数据库
-use mysql;										#切换数据库
-select database();								#查看当前数据库
-create database tts character set utf8mb4;		#创建数据库
tips:数据库命令规则
(由数字,字母,下划线组成;不能是纯数字;区分大小写;不能使用关键词或特殊符号)
注:8以前命令要打全utf8mb4
utf8				#支持中文
utf8mb4				#支持中文+表情+特殊汉字
-drop database tts;									#删除数据库
-drop table school.student;							#直接删表
-show character set;								#查看所有可用编码
-create database school character set utf8mb4;		#创建数据库
-create table school.student(						#创表
    -> 学号 char(20),
    -> 姓名 char(20),
    -> 性别 char(5),
    -> 手机号 int(11),
    -> 通信地址 char(50));
-desc school.student
-select * from student;								#查看student表
-insert into school.student values('654351987','爸爸的爸爸','不详','1200000000','同上');		#填表(增)
-update school.student set 性别='不详' where(条件) 性别='男';	#改表
-delete from school.student where 性别=’男’;			#删表
-delete from school.student; 						#删表所有,表还在
MySQL 数据类型

数值型:体重,身高,成绩,工资,金额
字符型:身份证,手机号,姓名,地址
枚举型: 爱好,性别,专业
日期时间型:出生日期,注册时间

1.字符型:
类型 描述
char(字符数) 固定长度,最大长度255字符,不够指定的字符数时自动在右边填补空格,超出指定字符数则无法写入。
varchar(字符数) 可变长度,根据实际数据大小分配存储空间,超出指定字符数则无法写入。
text/blob 字符数大于65535时使用。

注意:
char和varchar对比:
1.varchar空间利用率高;char查找性能更好.
text/blob:
用得少,查找的时候难查找.
duplicate
#另外,设计数据库:考虑未来5-10年的数据存储问题

2.数值类型
类型 范围(有符号) 范围(无符号) 用途
tinyint -128~127 0~255 微小整数
smallint -32768~32767 0~65535 小整数
mediumint -223~223-1 0~224-1 中整数
int -231~231-1 0~232-1 大整数
bigint -263~263-1 0~264-1 极大整数
float -3.402823466E+38

-1.175494351E-38 1.175494351E-38

3.402823466E+38 单精度浮点数(M,D)
double -1.7976931348623157E+308

-2.2250738585072014E-308 2.2250738585072014E-308

1.7976931348623157E+308 双精度浮点数(M,D)
#(M,D),其中 M 为总宽度,D 为小数位数,M 应大于 D
#使用 unsigned 标记无符号存储

注意:
1.在float数据中,输入时整数合法,小数超初,系统会四舍五入;
2.在int数据中,只要在范围中即使超了设定范围,也可以输入;
例如:int(6)--->不够6个补够6个,超出6个只要在范围内也是可以的.

3.日期类型(五个)

-datetime
日期时间类型,范围11000-01-01 00:00:00:000000~9999-12-31 23:59:59.999999
#如果不给该类型的数据赋值,则默认为NULL
-timestamp
日期时间类型,范围 1970-01-01 00:00:00:000000~2038-01-19 03:14:07.999999
#如果不给该类型的数据赋值,则mysql自动为其分配当前的系统时间
-date 纯日期
-year 纯年份
-time 纯时间

4.枚举类型 可穷尽的可能
-enum(值1,值2,值3)
-set(值1,值2,值3)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值