Mysql从删库到跑路(1)
文章目录
- 前言
- 初识Mysql
- mysql是啥呢
- 什么是数据库
- DBMS
- 操作数据库
- 基本操作
- 数据库中的数据类型
- 操作数据表
- 列的一些其他属性
- 数据表的引擎
- 基本操作
- 总结
前言
终于放假了,前段时间一直忙着复习功课考试,也没时间更新博客,这就补上,暑假就复习巩固学过的知识吧,那就从Mysql开始吧
初识Mysql
mysql是啥呢
它是一个数据库,一个用来存储关系型数据的仓库
在现实生活中,它是怎么被运用的?
像下图这样,浏览器向服务器发送一个请求,服务器去访问数据库的内容,再给客户端以响应,这也就是我们所说的B/S模式(浏览器/服务器模式)
什么是数据库
数据库:DB:DataBase
概念:数据库软件安装在操作系统上的,可存储大量的数据
作用:存储数据,管理数据
分类:
>关系型数据库(SQL):由行(数据)和列(字段)组成,通过表与表之间,行和列之间的关系进行数据的存储
>非关系型数据库(NOSQL):以键值对存储,以对象的形式存储,通过对象的自身属性来决定
DBMS
DBMS:DataBase Management System:数据库管理系统
数据库的管理软件,科学有效的管理我们的数据,维护和获取数据
Mysql的本质就是数据库管理系统
Mysql是一种关系型数据库,将数据存储在不同的表中,以便更加方便的管理数据
Mysql所使用的的SQl语言是用于访问数据库的最常用的标准化语言
操作数据库
基本操作
1.创建数据库
语法:CREATE DATABASE [IF NOT EXISTS] 数据库名;
[IF NOT EXISTS]为可选项,不加上的话,如果你表中已经有这个数据库了,就会报错
eg:创建一个xsgl数据库
create database `sxgl`;
注意:MYSQL中不区分大小写
数据库名,数据表名,字段名尽量加上``包裹上以标识
2.使用数据库
语法:USE DATABASE 数据库名;
eg:使用sxgl数据库
use database `sxgl`;
3.查看所有的数据库
语法:SHOW DATABASES;
eg:查看所有的数据库
4.删除数据库
语法:DROP DATABASE [IF EXISTS]数据库名;
eg:删除xsgl数据库
drop database xsgl;
数据库中的数据类型
1.数值
类型 | 用途 | 占用内存 |
---|---|---|
tinyint | 十分小的数据 | 1个字节 |
smallint | 较小的数据 | 2个字节 |
mediumint | 中等大小的数据 | 3个字节 |
int | 标准大小的数据 | 4个字节 |
bigint | 较大的数据 | 8个字节 |
float | 单精度数据 | 4个字节 |
double | 双精度数据 | 8个字节 |
decimal(M,D) | 字符串形式的浮点数 | 不知道(我查了可多资料,还是不太懂,知道的可以跟我说一下哈) |
DECIMAL
decimal(5,2)表示小数的取值范围是-999.99~999.99
5代表一共5个数,2代表的是小数点后有两位小数
2.字符串
类型 | 用途 | 占用内存 |
---|---|---|
char | 定长字符串 | 0~255字节 |
varchar | 可变长字符串 | 0~65536字节 |
tinytext | 微型文本 | 28-1字节 |
text | 长文本 | 216-1字节 |
3.时间日期
类型 | 用途 | 占用内存 |
---|---|---|
date | YYYY-MM-DD,日期格式 | 3个字节 |
time | hh:mm:ss,时间格式 | 3个字节 |
datetime | YYYY-MM-DD hh:mm:ss,年月日时分秒 | 8个字节 |
timestamp | 时间戳,1970-1-1到现在的毫秒数 | 4个字节 |
year | 年份 | 1个字节 |
操作数据表
列的一些其他属性
1.NULL
没有值,未知
注意:NULL不等于空值
2.NOT NULL
声明该列不能为空,不赋值会报错
3.UNSIGNED
无符号的整数,声明该列不能为负数
4.Zerofill
不足的位用0来填充
eg:int(5) 5—>00005
5.auto_increment
自增序列,通常会在上一条记录的基础上加1,可以自定义自增的其实质和步长
该列需为一个整数序列,必须具备唯一索引,每张表最多一个自增序列
6.DEFAULT
给该列设置一个默认值
eg:sex字段默认值设为男,如果不指定该字段的值,则默认为男
7.PRIMARY KEY
主键约束,用于唯一的标识表中的每一条记录
每张表有且仅有一个主键
数据表的引擎
MYISAM | INNODB | Memory | |
---|---|---|---|
事务支持 | 不支持 | 支持 | 不支持 |
数据行锁定 | 不支持 | 支持 | 不支持 |
外键约束 | 不支持 | 支持 | 不支持 |
全文索引 | 支持 | 不支持 | 不支持 |
表空间的大小 | 较小 | 较大,约为MYISAM的2倍 | 内存使用较高,空间使用较少(它使用存在于内存中的内容来创建表,并没有实际写入磁盘,重启会丢失) |
特点 | 节约空间,速度快,对事务完整性不要求,适用于以SELECT/INSERT为主的表 | 事务性数据库的首选引擎,具有提交、回滚、崩溃恢复能力的安全存储引擎,处理能力相对差些,占用磁盘空间较大 | 插入数据快、空间和内存使用较低、效率高,对事务不要求 |
除了这三个主要的引擎,还有例如BDB、Merge、Archive、CSV、BlackHole等,这里不做太多讨论
基本操作
创建一张数据表
语法:
CREATE TABLE table_name(
column_name1 data_type [constant_expression][NULL|NOT NULL],
column_name2 data_type [constant_expression][NULL|NOT NULL]
…
);
eg:在xsgl数据库中创建一张student表,字段如下:sno(设为主键),sname,sgender(默认值为男),sbirthday,sdept,引擎为INNODB,字符集为UTF8
修改表名
语法:ALTER TABLE 旧表名 RENAME AS 新表名;
eg:将student表改名为studentDemo
增加表的字段
语法:ALTER TABLE 表名 ADD 字段名 列属性;
eg:向studentDemo表中添加saddress字段,字段属性为varchar(20)
修改表的字段:change和modify
语法:
ALTER TABLE 表名 CHANGE 旧字段名 新字段名 列属性;
ALTER TABLE 表名 MODIFY 字段名 列属性;
modify只能改字段数据类型完整性约束,不能改字段名,但是change都可以(亲测有效,但是我看网上说change不能改属性,我也不知道怎么回事)
eg:修改sname字段属性为char(20),修改saddress字段名为address,字段属性为char(25)
删除表的字段
语法:ALTER TABLE 表名 DROP 字段名;
eg:删除studentDemo表中的address字段
删除数据表
语法:DROP TABLE [IF EXISTS] 表名;
eg:删除studentDemo表
drop table if exists `studentDemo`;
注意:
1.所有的符号要用英文符号
2.Mysql不区分大小写
3.字段名,数据表名,数据库名尽量加上``来包裹上
4.Mysql的注释为- -,在Navicat中#也可以作为注释,最好用Mysql的原生注释符"- -"
总结
开始我们知道了什么是mysql,什么是数据库,还有DBMS数据库管理系统,接下来又学习了数据库的基本操作,创建数据库,使用数据库,查看数据库,删除数据库,数据库中的一些基本数据类型,数值类型、时间类型、文本类型,又学了数据表的基本操作,创建数据表,为数据表添加字段,修改字段名,属性,删除表,还了解了三个常见的数据表的引擎MYISAM,INNODB,MEMORY,还有列的一些其他属性,像NULL空值,DEFAULT默认值,AUTO_INCREMENT自增序列等等
先学到这吧,你学会了吗,哈哈下次见
Mysql从删库到跑路(1)相关推荐
- MySQL从删库到跑路(5):in and not
"哈哈哈哈,看你这几天没来上课,我还以为你去拜什么高人为师了?原来就是这个烂番薯.臭鸟蛋的小卖部大爷学装逼,你逗我玩呢?哈哈哈哈哈" "哈哈哈哈,一个老屌丝,一个小屌 ...
- MySQL从删库到跑路(2):大爷的SQL私房菜
大爷的SQL私房菜 夜色如墨,月凉如水,一轮皎洁的圆月高高地挂在夜空之上,平日里鼾声如雷的室友今夜也停止了打鼾,如此静谧的夜晚,李有为却辗转难眠. 时间悄然来到凌晨一点半,他已经在窗边站了53分钟23 ...
- MySQL从删库到跑路(三)——SQL语言
作者:天山老妖S 链接:http://blog.51cto.com/9291927 一.SQL语言简介 1.SQL语言简介 SQL是结构化查询语言(Structured Query Language) ...
- MySQL从删库到跑路
MySQL数据库指令集 增(insert) 不指定字段 insert into <表名> values(值1,值2,值3...); 指定字段(没给到值的字段为默认值或null) inser ...
- MySQL从删库到跑路(7):连接查询,用联系的观点看女神与渣男
"有为,能陪我说说话么?" 望着梨花带雨的女神,一时间李有为陷入了恍惚之中,尽管心里已经千万次告诫自己要远离面前的女人,可是当她真的出现在面前时,李有为的大脑早已一片空白. ...
- mysql从删库到跑路 亚马逊_Amazon RDS 上的 MySQL 的已知问题和限制 - Amazon Relational Database Service...
Amazon RDS 上的 MySQL 的已知问题和限制 下面给出了有关对 Amazon RDS 使用 MySQL 的已知问题和限制. 不一致的 InnoDB 缓冲池大小 对于 MySQL 5.7,管 ...
- MySQL从删库到跑路(8):聚合函数——让我们来统计一下漂亮妹子的信息
"李有为,我且问你,human_base_info表面,颜值最高的妹子能有多高?" 听完大爷的话,李有为的嘴角情不自禁地绽开了一抹不易察觉的潇洒而自信的笑容,"大爷, ...
- MySQL从删库到跑路(9):group by——给漂亮小姐姐分个组
上回说到,李有为学会了五个聚合函数,自那以后,谁是这个世界上最漂亮的人,谁是这世界上最高的人,谁是这个世界上最重的人,都逃不过她的火眼金睛,然后大爷的一个问题又让李有为陷入了难题的泥沼当中,在这个花 ...
- MySQL从删库到跑路(10):case when——国色天香、倾国倾城,给漂亮小姐姐分个类
一生一代一篇文,争教两处销魂.上回说到,李有为跟着小卖部大爷,装逼界的传奇人物逼神阿六敦学了一招group by分组后自以为可以纵横天下,然而很快,他便发现人外有人.天外有天,强中还有强中手,一山还 ...
最新文章
- 计算机视觉组队学习预告!提前进群
- golang float string int 相互转换 保留小数位
- java 注释 连接,java – 如何使用JPA注释创建连接表?
- 布隆过滤器速度_详解布隆过滤器的原理、使用场景和注意事项
- python pyqt5安装_Python3 安装PyQt5及exe打包图文教程
- 父组件更新prop_如何在ReactJS中更新组件的prop —哦,是的,有可能
- 安装出现 PHP Extension curl must be loaded 错误(magento)
- phpstudy本地搭建域名访问
- 中国机器自动化控制器行业市场供需与战略研究报告
- VB用API控制输入法状态
- Linux虚拟机出现卡死且无法结束进程的解决办法
- GULP案例1:计算声子色散曲线和态密度
- 武林外传自动寻路CALL
- 信息不对称套利之 - 羊毛党
- SONET/SDH技术讲解
- oracle查询dictionary,Oracle的DICTIONARY/DICT视图。
- Week4 互评作业 (接口、抽象类练习)
- eChat(微聊天)
- java 实现将图片替换到word 文档中
- 什么是图论和图论在数字图像中的应用