Mysql从删库到跑路(1)

前言

终于放假了,前段时间一直忙着复习功课考试,也没时间更新博客,这就补上,暑假就复习巩固学过的知识吧,那就从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.时间日期

类型用途占用内存
dateYYYY-MM-DD,日期格式3个字节
timehh:mm:ss,时间格式3个字节
datetimeYYYY-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
主键约束,用于唯一的标识表中的每一条记录
每张表有且仅有一个主键

数据表的引擎

MYISAMINNODBMemory
事务支持不支持支持不支持
数据行锁定不支持支持不支持
外键约束不支持支持不支持
全文索引支持不支持不支持
表空间的大小较小较大,约为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)
在这里插入图片描述

修改表的字段:changemodify
语法:
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自增序列等等
先学到这吧,你学会了吗,哈哈下次见
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值