首页 > 数据库 >MySQL 基础知识总结

MySQL 基础知识总结

时间:2022-08-28 09:12:22浏览次数:58  
标签:总结 字节 数据库 表名 基础知识 数据表 MySQL table

MySQL 基础知识总结

MySQL 基本操作

SQL 定义:
SQL 是用于访问和处理数据库的标准的计算机语言。
- SQL 指结构化查询语言
- SQL 使我们有能力访问数据库
- SQL 是一种 ANSI 的标准计算机语言 (注:ANSI,美国国家标准化组织)
MySQL 定义:
- MySQL 是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。

- MySQL 软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型和大型网站的开发都选择 MySQL 作为网站数据库。
MySQL 数据库服务的登录操作
mysql -h 主机名 -u 用户名 -p:在‘超级终端’中可以使用命令的方式进入到mysql数据库的控制管理交互程序。
h:后面接的是主机名,表示你要连接到哪台主机的MySQL数据库。
u:后面接的是用户名,MySQL默认的就是root。
p:指定需要使用密码登陆MySQL数据库,如果密码为空,该参数可以省略。
MySQL 数据库常用操作
查看mySql中的数据库数据
show databases;

查看正在使用的数据库
select database();

进行对应数据库信息的创建操作
create database 数据库名;

在创建数据库的时候制定编码格式,一般为utf8
create database 数据库名 character set utf8;

选择要操作的数据库
use 数据库名;

进行对应数据库的删除操作
drop database 数据库名;
MySQL 常用数据表格操作
进行对应数据表信息的创建操作
create table 数据表名();

字段属性不为空
not null

字段属性整型不包含负数
int unsigned

设置为主键
primary key

设置为外键
foreign key
foreign key (Id_p) refernces persons(Id_p)

自增长,aotu_increment=1000,自增长从1000开始
aotu_increment

查看对应的表结构
describe 表名;

查询创建表示的conment说明数据信息
show full fields from ih_user_profile;

进行对应数据表的删除操作
drop table 数据表名;

为指定数据表中添加对应的属性
alter table 表名 add 属性名 类型;

为指定的数据表中的属性进行修改操作
alter table 表名 change 老的属性名 新的属性名 类型;

进行指定数据表中对应属性的删除操作
alter table 表名 drop 属性名;

重命名数据库表
alter table 数据库表名 rename 新数据库表名;

撤销外键约束
alter table 数据库表名 

批量替换指定数据字符串信息
update 数据库表名 set default_image_url=replace(default_image_url, 'http://10.211.55.5:8888', 'http:/xxxx.xx.xx.xx:8888')
MySQL 常用数据操作
对应数据的添加操作
insert into 数据表名 (属性1、属性2、属性3) values (内容1、内容2、内容3);

删除指定数据表中的数据
delete from 数据表名;

数据表对应数据的修改操作
update 数据表 set 属性1=内容1;

数据的条件查询
select 列名称 from 数据库表名 where 查询条件;

过滤查询出来的重复数据
distinct

逻辑与/逻辑或。
and/or
注:如果在查询条件中,使用了or与and,那么and的优先级要高于or,解决的办法是添加小括号()

逻辑非
not  

为空/不为空
is null/is not null

like与通配符使用实现模糊查询,in判断字段是否在其后面的小括号中
like/in
通配符%/_:%表示任何字符出现任意次数,下划线只能匹配一个字符。

对搜索出来的数据按照一定格式来显示
concat
concat(name,'(',sum,')')

分组查询(group by 必须在where子句之后,在order by子句之前)
group by

类似于之前使用的where过滤一样,如果想要对分组的结果进行过滤的话,那么就需要使用having
having

指定字段进行排序
order by asc/desc
ASC 顺序操作
DESC  逆顺序操作

分页显示
limit(3,3)
第1个数字,表示开始显示的位置
第2个数字,表示显示个记录的个数
默认显示的位置是从0开始的

内联结查询
inner join ... on
SELECT column_name(s)
FROM table_name1
INNER JOIN table_name2
ON table_name1.column_name=table_name2.column_name

左联结查询,与inner join ... on 操作类同
left join ... on

右联结查询,与inner join ... on 操作类同
right join ... on

组合查询
union/union all
SELECT column_name(s) FROM table_name1
UNION
SELECT column_name(s) FROM table_name2
注:默认地,UNION 操作符选取不同的值。如果允许重复的值,请使用 UNION ALL。
MySQL 常用的聚合函数,可与分组配合使用
返回某列的平均值
avg()

返回某列的行数
count()

返回某列的最大值
max()

返回某列的最小值
min()

返回某列值的和
sum()
MySQL 常用的数据类型
整型
tinyint:有符号值:-128到127 无符号值:0到255(2^8-1)
smallint:有符号值:-32768到32767 无符号值:0到65535(2^16-1)
mediumint:有符号值:-8388608到8388607 无符号值:0到16777215(2^24-1)
int:有符号值:-2147483648到2147483647 无符号值:0到4294967295(2^32-1)
bigint:有符号值:-2^63到2^63-1 无符号值:0到2^64-1

浮点型
float(M,N):小数加整数部分一共是M位,N表示小数位;总共占用4字节
double(M,N):小数加整数部分一共是M位,N表示小数位;总共占用8字节

时间类型
date(4字节):1000-01-01/9999-12-31 YYYY-MM-DD 日期值
time(3字节):'-838:59:59'/'838:59:59' HH:MM:SS 时间值或持续时间
year(1字节):1901/2155 YYYY 年份值
datetime(8字节):1000-01-01 00:00:00/9999-12-31 23:59:59 YYYY-MM-DD HH:MM:SS 混合日期和时间值

字符类型
char:0-255字节 定长字符串
varchar:0-255字节 变长字符串
tinytext:0-255字节 短文本字符串
text:0-65535字节 长文本数据

标签:总结,字节,数据库,表名,基础知识,数据表,MySQL,table
From: https://www.cnblogs.com/qingtianyu2015/p/16632234.html

相关文章

  • js无限debugger学习总结
    静态js代码debugger1.几千个含有debugger的script标签<script>debugger;</script><script>debugger;</script><script>debugger;</script>.........
  • 【Prometheus+Grafana系列】监控MySQL服务
    前言前面的一篇文章已经介绍了docker-compose搭建Prometheus+Grafana服务。当时实现了监控服务器指标数据,是通过node_exporter。Prometheus还可用来监控很多服务,......
  • ABC266总结
    比赛情况AC:6/8排名:830题目分析A(语法)直接输出\(s_{n/2+1}\)即可点击查看代码//Problem:A-MiddleLetter//Contest:AtCoder-AtCoderBeginnerContest......
  • 算法总结
    1.二叉树的右侧视图给定一个二叉树的根节点root,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。题解:根之前二叉树解题类似,用广度优先搜索或......
  • 每周总结(22/8/27)
    HBase定义HBase是一种分布式、可扩展、支持海量数据存储的NoSQL数据库。1.2HBase数据模型逻辑上,HBase的数据模型同关系型数据库很类似,数据存储在一张表中,有行有列......
  • linux系统mysql数据库目录迁移
    1、关闭mysqlsudo/etc/init.d/mysqlstop或systemctlstopmysql 2、移动数据存储位置mv/var/lib/mysql/*/media/mysqldata3、修改my.cnf配置文件......
  • 5 - 自动化测试常见面试题总结
    一、测试时接口调不通,如何去排查1、接口没有任何响应很多时候在做接口测试时,会发现接口没有任何返回,比如浏览器一直在转圈,或者返回一个空白页面。用接口工具测试时,工具......
  • Mysql 大表在线DDL修改表全文索引解决方式
    1.添加主键索引ALTERTABLEtable_nameADDPRIMARYKEY(column),Algorithm=Inplace;2.添加唯一索引ALTERTABLEtable_nameADDUNIQUE(column),Algorithm=Inplac......
  • 「闲话」NOI2022 考试总结
    NOI2022考试总结Day1Day1前一晚的感觉就不太好。考前又兴奋跃跃欲试,又有点紧张,完全控制不住自己的脑子。晚上睡觉的时候,呆在被子里面莫名燥热,又不敢随便掀开怕感冒,......
  • MySQL InnoDB索引原理
     数据库与I/O原理数据会持久化到磁盘,查询数据是就会有I/O操作,相对于缓存操作,I/O操作的时间成本相当高昂。I/O操作的基本单位是一个磁盘页面,比如16KB的页面大小。当数据......