大数据——初识MySQL

数据库

数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,它产生于距今六十多年前,随着信息技术和市场的发展,特别是二十世纪九十年代以后,数据管理不再仅仅是存储和管理数据,而转变成用户所需要的各种数据管理的方式。数据库有很多种类型,从最简单的存储有各种数据的表格到能够进行海量数据存储的大型数据库系统都在各个方面得到了广泛的应用。
在信息化社会,充分有效地管理和利用各类信息资源,是进行科学研究和决策管理的前提条件。数据库技术是管理信息系统、办公自动化系统、决策支持系统等各类信息系统的核心部分,是进行科学研究和决策管理的重要技术手段。

为什么学习数据库

岗位技能需求。
现在的世界,得数据者得天下。
存储数据的方法。
程序、网站中大量数据需长久保存。

什么是数据库

数据库(Database,简称DB)
概念:长期存放在计算机内,有组织、可共享的大量数据的集合,是一个数据“仓库”。
作用:保存、管理数据。
数据库总览:
关系型数据库(SQL):
MySQL、Oracle、SQL Server、SQLite、DB2
非关系型数据库(NOSQL):
Redis、MongoDB
什么是DBMS?
数据库管理系统(Database Management System):
数据管理软件,科学组织和存储数据、高效地获取和维护数据 。在这里插入图片描述

MySQL简介

在这里插入图片描述

概念:
是现流行的开源、免费的关系型数据库
特点:
免费、开源数据库
小巧、功能齐全
使用便捷
可运行于Windows或Linux操作系统
可适用于中小型甚至大型网站应用

MySQL的运行机制

在这里插入图片描述

安装MySQL

在Linux操作系统下安装MySQL。

详情请见:https://blog.csdn.net/dsjia2970727/article/details/108095676

在Windows操作系统下安装MySQL

(1)下载MySQL
MySQL 5.5.40 (Windows版)
下载地址:http://dev.mysql.com/downloads/
注意:
数据目录不要在系统盘,以免卸载时删除数据包。
启用安装向导,避免繁琐的 my.ini 配置文件。
数据库语言编码设置。
(2)安装关键步骤
端口设置 3306(默认)在这里插入图片描述
编码设置 utf8
在这里插入图片描述
密码设置
在这里插入图片描述
(3)安装后
参考链接配置环境:https://blog.csdn.net/LetonLIU/article/details/82152852?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522159775308819195265901844%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=159775308819195265901844&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allfirst_rank_ecpm_v3~pc_rank_v2-2-82152852.first_rank_ecpm_v3_pc_rank_v2&utm_term=+%E6%95%B0%E6%8D%AE%E5%BA%93%E9%85%8D%E7%BD%AE+%E7%8E%AF%E5%A2%83&spm=1018.2118.3001.4187

SQLyog管理工具

在这里插入图片描述
可手动操作、管理MySQL数据库的软件工具
特点:易用、简洁、图形化

创建课程数据表(subject)并添加数据

(1)使用SQLyog连接数据库。
(2)创建MySchool数据库。
(3)新建数据表( subject )。
(4)添加数据列:
SubjectNo (int(11) , PK) (PK是Primary Key主键)
SubjectName (varchar 50 )
ClassHour (int (4) )
GradeID ( int (4) )
(5)添加数据
语句展示:

CREATE TABLE `subject` (
`SubjectINO` INT(11) NOT NULL,
`SubjectName` VARCHAR(10) DEFAULT NULL,
`ClassHour` INT(4) DEFAULT NULL,
`GradeId` INT(4) DEFAULT NULL,
PRIMARY KEY (`SubjectINO`)
) 

结果展示:
在这里插入图片描述

示例一:
(1)连接本地MySQL数据库
(2)新建MySQL数据库
(3)数据库名称MySQL
(4)新建数据库表(grade)
GradeID:int(11) Primary Key(pk)
GradeName:varchar(50)
语句展示:

CREATE TABLE `grade` (
  `GradeID` INT(11) NOT NULL,
  `GradeName` VARCHAR(50) COLLATE utf8_croatian_ci DEFAULT NULL,
  PRIMARY KEY (`GradeID`)
) 

结果展示:在这里插入图片描述

连接数据库

Linux系统下使用MySQL数据库:
打开虚拟机,使用Moba远程连接虚拟机。
连接数据库语句:
mysql -h 服务器主机地址 –u 用户名 -p用户密码

结构化查询语句SQL

结构化查询语句分类:
在这里插入图片描述

命令行操作数据库

创建数据库:
CREATE DATABASE [IF NOT EXISTS] 数据库名;
删除数据库:
DORP DATABASE [IF EXISTS] 数据库名;
查看数据库:
SHOW DATABASES;
使用数据库:
USE 数据库名;

工具建表

建表:
查看表结构 :describe/desc 表名
查看建表语句:show create table 表名

创建数据表

属于DDL的一种。
REATE TABLE [ IF NOT EXISTS ] 表名 (

字段名1 列类型 [ 属性 ] [ 索引 ] [注释] ,
字段名2 列类型 [ 属性 ] [ 索引 ] [注释] ,
… …
字段名n 列类型 [ 属性 ] [ 索引 ] [注释]

) [ 表类型 ] [ 表字符集 ] [注释] ;
可以在表名和字段名上加上反引号:``
反引号用于区别MySQL保留字与普通字符而引入的。

列类型

表列类型设置:
在这里插入图片描述
规定数据库中该列存放的数据类型。
分为:
(1)数值类型
在这里插入图片描述
(2)字符串类型
在这里插入图片描述

(3)日期和时间型数值类型
在这里插入图片描述
(4)NULL值
理解为“没有值”或“未知值”。
不要用NULL进行算术运算,结果仍为NULL。
选择数据类型:
(1)整数和浮点
(2)日期类型
(3)char和varchar

数据字段属性

表列类型设置:
在这里插入图片描述
UNSIGNED:
(1)无符号的
(2)声明该数据列不允许负数
ZEROFILL:
(1)0填充的
(2)不足位数的用0来填充,如 int(3),5则为 005
AUTO_INCREMENT:
(1)自动增长的,每添加一条数据,自动在上一个记录数上加1
(2)通常用于设置主键,且为整数类型
(3)可定义起始值和步长
NULL 和 NOT NULL:
(1)默认为NULL,即没有插入该列的数值
(2)如果设置为NOT NULL,则该列必须有值
DEFAULT:
(1)默认的
(2)用于设置默认值
例如,性别字段,默认为“男”,否则为“女”;若无指定该列的值,则默认为“男”的值

数据字段注释

表列类型注释:
在这里插入图片描述
在这里插入图片描述
示例二:创建数据表student
使用语句新建student表。
在这里插入图片描述
语句展示:

CREATE TABLE `student` (
  `StudentNo` int(11) NOT NULL DEFAULT '0',
  `StudentName` varchar(20) DEFAULT NULL COMMENT '学生姓名',
  `Sex` varchar(1) DEFAULT NULL,
  `GradeID` int(11) DEFAULT NULL COMMENT '年级编号',
  `Phone` varchar(50) NOT NULL COMMENT '联系电话,允许为空,即可选输入',
  `Address` varchar(255) NOT NULL COMMENT '地址,允许为空。即可选输入',
  `Emaill` varchar(50) DEFAULT NULL,
  `IdentityCard` bigint(255) DEFAULT NULL,
  PRIMARY KEY (`StudentNo`)
) 

表列类型设置

在这里插入图片描述

设置数据表的类型

在这里插入图片描述
在这里插入图片描述
MySQL的数据表的类型:
MyISAM、InnoDB 、HEAP、BOB、CSV等。
常见的MyISAM与InnoDB类型:
在这里插入图片描述
在这里插入图片描述

设置数据表字符集

表列类型设置:
在这里插入图片描述
可为数据库、数据表、数据列设定不同的字符集。
设定方法:
创建时通过命令来设置,如
在这里插入图片描述
如无设定,则根据MySQL数据库配置文件my.ini
(Windows系统)中的参数设定
如:character-set-sever = utf8
示例三:使用语句新建subject表。
设置数据表为MyISAM类型。
具体设计如下:
在这里插入图片描述
语句展示:

CREATE TABLE `subject` (
  `SubjectINO` int(11) NOT NULL,
  `SubjectName` varchar(10) DEFAULT NULL,
  `ClassHour` int(4) DEFAULT NULL,
  `GradeId` int(4) DEFAULT NULL,
  PRIMARY KEY (`SubjectINO`)
) CHARSET=utf8

创建表

索引:
在这里插入图片描述

数据表的存储位置

MySQL数据表以文件方式存放在磁盘中
包括表文件、数据文件以及数据库的选项文件
位置:MySQL安装目录\data下存放数据表。目录名对应数据库名,该目录下文件名对应数据表
在这里插入图片描述
注意:
在这里插入图片描述

修改数据表

修改表(ALTER TABLE):
(1)修改表名
在这里插入图片描述
(2)添加字段
在这里插入图片描述
(3)修改字段
在这里插入图片描述
(4)删除字段
在这里插入图片描述

删除数据表

在这里插入图片描述
注意:
IF EXISTS 为可选,判断是否存在该数据表。
如删除不存在的数据表会抛出错误。

总结

连接数据库

本机数据库:mysql -hlocahost -uroot -p
mysql -h127.0.0.1 -uroot -p
远程数据库:mysql -h192.168.136.30 -uroot -p

对库的操作

查看数据库:show databases;
创建数据库:create database lol(数据库名);
删除数据库:drop database lol(数据库名);
切换到某个数据库:use MySchool(数据库名);

对表的操作

查看表结构:describe/desc subject(表名)
查看建表语句:show create table subject(表名);
删除表:drop table if exists grade(表名);
创建表:
CREATE TABLE IF NOT EXISTS grade(
GradeID INT(4) PRIMARY KEY,
GradeName VARCHAR(10)
);

修改表

修改表名:alter table 旧表名 rename as 新表名;
添加字段:alter table 表名 add 字段名 列类型[属性];
                 First:表示增加此列为第一列
                 After:表示怎能增加在某列之后
修改字段:alter table 表名 modify 字段名 列类型[属性];
          alter table 表名 change 旧字段名 新字段名 列类型[属性];
删除字段:alter table 表名 drop 字段名;
删除表:drop table [if exists] 表名
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值