MySQL基础学习

MySQL基础学习

一些电脑快捷键:

  1. 进入电脑自带的计算器(进入即可自行设置程序员专用或其它):

    Windows+R 输入calc

  2. 进入电脑自带的绘图软件:
    Windows+R 输入mspaint

  3. 快速回到桌面:
    Windows+M

  4. 快速进入我的电脑:
    Windows+E

  5. 打开字段查找或替换:
    Windows+F

  6. 将所有打开的窗口最小化:
    Windows+D

  7. 进入控制面板:
    Windows+U

1.初识MySQL

1.1.为什么学习数据库

数据库是所有软件体系中最核心的存在

1.2.什么是数据库

数据库(DB,DataBase)

概念:数据仓库;软件;安装在操作系统(windows,linux,max…)之上的!可以存储大量的数据(500万以下的)

作用:存储数据,管理数据。

1.3.数据库分类

  • 关系型数据库:SQL

例子:MySQL,Oracle,SQL Server,DB2,Sqllite

存储方式:通过表和表之间,行和列之间的关系进行数据的存储,比如学员信息表,考勤表等。

  • 非关系型数据库:NoSQL(not only sql)

例子:redis,mongdb

存储方式:对象存储,通过对象的自身的属性来决定。

DBMS(数据库管理系统):数据库的管理软件,科学有效的管理我们的数据,维护和获取数据。

1.4.MySQL(关系型数据库管理系统RDBMS)

MySQL是一个关系型数据库管理系统

前世:瑞典MySQL AB公司

今生:属于Oracle旗下产品

MySQL是最好的RDBMS应用软件之一,是一个开源的数据库软件

体积小,速度快,总体拥有成本低,事业单位招人成本比较低。

可以应用在中小型网站或者大型网站,集群

1.5.安装MySQL

详情参照另一篇博客链接:

https://blog.csdn.net/m0_37775931/article/details/112515317

1.6.安装SQLyog

SQLyog是一个快速而简洁的图形化管理MySQL数据库的工具

MySQL端口号:3306

基字符集:utf8

数据库排序规则:utf8_general_ci

1.7.连接数据库

-- 启动mysql服务
net start mysql 
-- 进入mysql命令行
mysql -u root -p密码
mysql -u root -p后回车然后输入密码
-- 修改用户密码,以密码为123456为例
update mysql.user set authentication_string=password(123456) where user=‘root’ and Host=‘localhost’;
-- 刷新权限
flush privileges;
-- 注意所有的sql语句都以分号(;)结尾

-- ==========================================================================================
-- 查看所有数据库
show databases;
-- 进入或切换到某个数据库
use 库名;
-- 查询该数据库中的表
show tables;
-- 查看某张表的内容
select * from 表名;
-- 注意,可以给表名和字段名两边添加``(键盘tab键上方),防止该表名或字段名与一些敏感词汇冲突。
DDL 数据库定义语言
DML 数据库管理语言
DQL 数据库查询语言(重点)
DCL 数据库控制语言

2.操作数据库

说明:操作数据库–>操作数据库中的表–>操作数据库中的表的数据

mysql的关键字不区分大小写

[ ]中括号里面的内容代表可选项

2.1.操作数据库

-- 创建数据库
create database [if not exists] 库名;
-- 删除数据库
drop database if exists 库名;
-- 使用数据库
use 库名;
-- 查看所有的数据库
show databases;

2.2.数据库列类型

  1. 数值型
tinyint 十分小的数据 1个字节
smallint 较小的数据 2个字节
mediumint 中等大小 3个字节
int 标准的整数(常用) 4个字节
bigint 较大的数据 8个字节
float 浮点数 4个字节
double 浮点数 8个字节
decimal 字符串形式的浮点数 金融计算的时候,一般使用decimal
  1. 字符串
char 字符串固定大小的 0~255
varchar 可变字符串(常用) 0到65535
tinytext 微型文本 2的8次方-1
text 文本串 2的16次方-1
  1. 时间日期
date YYYY-MM-DD,日期
time HH:mm:ss 时间格式
datetime YYYY-MM-DD HH:mm:ss 最常用的
timestamp 时间戳,1970.1.1到现在的毫秒数!
year 年份表示
  1. null

没有值,未知

注意:不能使用NULL进行运算。

2.3.数据库的字段属性

unsigned 无符号的整数 不能声明为负数
zerofill 0填充,不足的位数,使用0来填充
auto_increment 自增,可以自定义设计
not null 非空,如果不给赋值,就会报错
default 设置默认的值

2.4.创建表的注意事项

表的名称和字段尽量使用``(tab键上面)括起来,comment 后的内容使用单引号。例如:

CREATE TABLE IF NOT EXISTS `student`(
`id` INT(4) NOT NULL AUTO_INCREMENT COMMENT '学号',
`name` VARCHAR(30) NOT NULL DEFAULT '匿名' COMMENT '姓名',
`pwd` VARCHAR(20) NOT NULL DEFAULT '123456' COMMENT '密码',
`sex` VARCHAR(2) NOT NULL DEFAULT '女' COMMENT '性别',
`birthday` DATETIME DEFAULT NULL COMMENT '出生日期',
`address` VARCHAR(100) DEFAULT NULL COMMENT '家庭住址',
`email` VARCHAR(50) DEFAULT NULL COMMENT '邮箱',
PRIMARY KEY (`id`)
)ENGINE=INNODB DEFAULT CHARSET=utf8

2.5.关于数据库引擎

MYISAM INNODB
事务支持 不支持 支持
数据行锁定 不支持 支持
外键约束 不支持 支持
全文索引 支持 不支持
表空间大小 较小 较大,约为MYISAM两倍

常规的使用操作:
MYISAM 节约空间,速度较快
INNODB 安全性高,支持事务的处理以及多表多用户操作

MySQL引擎在物理文件上的区别
INNODB:在数据库表中只有一个*.frm文件,以及上级目录下的ibdata1文件。
MYISAM:.frm表结构的定义文件,.MYD 数据文件,.MYI 索引文件

设置数据库表的字符集编码
CHARSET=utf8
不设置的话,会使mysql默认的字符集编码(不支持中文)

总结:所有的数据库文件都存在data目录下,一个文件夹就对应一个数据库,所以说数据库存储的本质还是文件的存储!

2.6.修改删除表

修改表名:ALTER TABLE 旧表名 RENAME AS 新表名;
增加表的字段:ALTER TABLE 表名 ADD 字段名 列属性
修改表的字段类型和约束:ALTER TABLE 表名 MODIFY 字段名 新列属性
修改表的字段名:ALTER TABLE 表名 CHANGE 字段名 新字段名 新列属性
删除表的字段:ALTER TABLE 表名 DROP 字段名
删除表:DROP TABLE IF EXISTS 表名

总结:
change用来字段重命名
modify不用来字段重命名,只能修改字段类型和约束
所有的创建和删除操作尽量加上判断(if exists or if not exists),以免报错

3.MySQL数据管理

3.1.外键(了解即可)

  1. 方式一:在创建表的时候,增加约束
CREATE TABLE IF NOT EXISTS `student`(
`id` INT(4) NOT NULL AUTO_INCREMENT COMMENT '学号',
`name` VARCHAR(30) NOT NULL DEFAULT '匿名' COMMENT '姓名',
`pwd` VARCHAR(20) NOT NULL DEFAULT '123456' COMMENT '密码',
`sex` VARCHAR(2) 
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值