首页 > 数据库 >MYSQL-第一章-初识MySQL

MYSQL-第一章-初识MySQL

时间:2024-10-16 09:48:29浏览次数:3  
标签:数据库 MySQL 数据表 表名 初识 MYSQL 类型 TABLE

目标

了解MySQL数据库

学会安装MySQL

学会使用SQLyog数据库管理工具

了解常用的数据库命令

熟悉创建数据库表的语句

熟悉常见的数据列属性、类型和索引

什么是数据库

数据库(Database,简称DB)

概念

长期存放在计算机内、有组织、可共享的大量数据的集合,是一个数据“仓库”

作用

保存、管理数据

数据库总览

关系数据库(SQL)

MySQL、Oracle、SQL Server、SQLite、DB2

非关系型数据库(NOSQL)

Redis、MongoDB

什么是DBMS

数据库管理系统(Database Management System)

数据管理软件,科学组织和存储数据、高效地获取和维护数据

MySQL简介

概念

是现流行的开源、免费的关系型数据库

特点

免费、开源数据库

小巧、功能齐全

使用便捷

可运行于Windows或Linux操作系统

可适用于中小型甚至大型网站应用

MYSQL的运行机制

支持接口 标准C的API、JDBC、CDBC、.NET、PHP、Python、Perl、Ruby、Cobol

在Windows操作系统下安装MySQL

下载MySQL

MySQL 5.5.40 (Windows版)下载地址:MySQL :: MySQL Community Downloads

数据目录不要在系统盘,以免卸载时删除数据包

启用安装向导,避免繁琐的 my.ini 配置文件

数据库语言编码设置

安装关键步骤

端口设置 3306(默认)

编码设置 utf8

密码设置

Navicat管理工具

连接数据库

打开MySQL命令窗口

在DOS命令行窗口(cmd.exe)

在窗口中进入 安装目录\mysql\bin

可设置环境变量

连接数据库语句

mysql  -h 服务器主机地址  –u  用户名  -p用户密码

结构化查询语句SQL

结构化查询语句分类

名称

解释

命令

DDL

(数据定义语言)

定义和管理数据对象,

如数据库,数据表等

CREATE、DROP、ALTER

DML

(数据操作语言)

用于操作数据库对象中所包含的数据

INSERT、UPDATE、DELETE

DQL

(数据查询语言)

用于查询数据库数据

SELECT

DCL

(数据控制语言)

用来管理数据库的语言,包括管理权限及数据更改

GRANT、COMMIT、ROLLBACK

命令行操作数据库

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

工具建表

建表

显示表结构

desc 表名

显示表创建语句

show create table 表名

创建数据表

属于DDL的一种

//                                   反引号 (可选、区别于单引号)
CREATE   TABLE [ IF NOT EXISTS ]    `表名`   (
                   //表列类型设置  表列类型设置
        `字段名1`    列类型 [ 属性 ]  [ 索引 ] [注释] ,
        `字段名2`   列类型 [ 属性 ]  [ 索引 ] [注释] , 
         … …    
         `字段名n`   列类型 [ 属性 ]  [ 索引 ] [注释] 

)  [  表类型 ] [ 表字符集 ] [注释] ;

反引号用于区别MySQL保留字与普通字符而引入的

数据值和列类型

列类型

规定数据库中该列存放的数据类型

分为

数值类型

字符串类型

日期和时间型

数值类型

NULL值

数值类型

类型

说明

取值范围

存储需求

tinyint

非常小的数据

有符值: -27 ~ 27-1

无符号值:0 ~ 28-1

1字节

smallint

较小的数据

有符值: -215 ~ 215-1

无符号值: 0 ~ 216-1

2字节

mediumint

中等大小的数据

有符值: -223 ~ 223-1

无符号值: 0 ~ 224-1

3字节

int

标准整数

有符值: -231 ~ 231-1

无符号值:0 ~ 232-1

4字节

bigint

较大的整数

有符值: -263 ~263-1

无符号值:0 ~264-1

8字节

float

单精度浮点数

±1.1754351e -38

4字节

double

双精度浮点数

±2.2250738585072014e -308

8字节

decimal

字符串形式的浮点数

decimal(m, d)

m个字节

字符串类型

类型

说明

最大长度

char[(M)]

固定长字符串,检索快但费空间, 0 <= M <= 255

M字符

varchar[(M)]

可变字符串

0 <= M <= 65535

变长度

tinytext

微型文本串

28–1字节

text

文本串

216–1字节

日期和时间型数值类型

类型

说明

取值范围

DATE

YYYY-MM-DD,日期格式

1000-01-01~ 9999-12-31

TIME

Hh:mm:ss ,时间格式

-838:59:59~838:59:59

DATETIME

YY-MM-DD hh:mm:ss

1000-01-01 00:00:00

9999-12-31 23:59:59

TIMESTAMP

YYYYMMDDhhmmss格式表示的时间戳

197010101000000 ~2037年的某个时刻

YEAR

YYYY格式的年份值

1901~2155

NULL值

理解为“没有值”或“未知值”

不要用NULL进行算术运算,结果仍为NULL

选择数据类型

整数和浮点

日期类型

char和varchar

数据字段属性

UNSIGNED

无符号的

声明该数据列不允许负数

ZEROFILL

0填充的

不足位数的用0来填充,如 int(3),5则为 005

AUTO_INCREMENT

自动增长的,每添加一条数据,自动在上一个记录数上加1

通常用于设置主键,且为整数类型

可定义起始值和步长

NULL 和 NOT NULL

默认为NULL,即没有插入该列的数值

如果设置为NOT NULL,则该列必须有值

DEFAULT

默认的

用于设置默认值

例如,性别字段,默认为“男”,否则为“女”;若无指定该列的值,则默认为“男”的值

数据字段注释

 CREATE   TABLE [ IF NOT EXISTS ]    `test`   (
      `id`   int (11)  UNSIGNED  COMMENT   ‘编码号’
)COMMENT=‘测试表’;

数据表的类型

设置数据表的类型

CREATE TABLE  表名(
	#省略一些代码
) ENGINE =  MyISAM

 MySQL注释:1、#……        单行注释 2、/*……*/     多行注释

或者
CREATE TABLE  表名(
	#省略一些代码
) ENGINE =  InnoDB

MySQL的数据表的类型

MyISAM、InnoDB 、HEAP、BOB、CSV等

常见的MyISAM与InnoDB类型

名称

MyISAM

InnoDB

事务处理

不支持

支持

数据行锁定

不支持

支持

外键约束

不支持

支持

全文索引

支持

不支持

表空间大小

较小

较大,2

表列类型设置

可为数据库、数据表、数据列设定不同的字符集

设定方法

创建时通过命令来设置,如

 CREATE TABLE  表名(
	#省略一些代码
)CHARSET  =  utf8;

如无设定,则根据MySQL数据库配置文件my.ini

(Windows系统)中的参数设定 如:character-set-sever = utf8

数据表的存储位置

MySQL数据表以文件方式存放在磁盘中

包括表文件、数据文件以及数据库的选项文件

位置:MySQL安装目录\data下存放数据表。目录名对应数据库名,该目录下文件名对应数据表

修改数据表

修改表(ALTER TABLE)
修改表名
 ALTER TABLE 旧表名  RENAME AS  新表名
添加字段
 ALTER TABLE 表名   ADD 字段名   列类型 [ 属性 ]   
修改字段
 ALTER TABLE 表名   MODIFY 字段名   列类型 [ 属性 ]   
 ALTER TABLE 表名   CHANGE 旧字段名  新字段名   列类型 [ 属性 ]
删除字段
 ALTER TABLE 表名   DROP  字段名

删除数据表

 DROP  TABLE  [ IF  EXISTS ]   表名

IF EXISTS 为可选,判断是否存在该数据表如删除不存在的数据表会抛出错误

练习

练习二、创建数据表student

需求说明使用语句新建student表具体设计如下

CREATE TABLE student (
    StudentNo INT(4) NOT NULL PRIMARY KEY,
    LoginPwd VARCHAR(20),
    StudentName VARCHAR(20),
    Sex TINYINT(1),
    GradeId INT(11),
    Phone VARCHAR(50) NOT NULL,
    Address VARCHAR(255) NOT NULL,
    BornDate DATETIME,
    Email VARCHAR(50) NOT NULL,
    IdentityCard VARCHAR(18)
);

标签:数据库,MySQL,数据表,表名,初识,MYSQL,类型,TABLE
From: https://blog.csdn.net/weixin_65279640/article/details/142971520

相关文章

  • Loading class `com.mysql.jdbc.Driver’. This is deprecated. The new driver class
    原文链接:Loadingclass`com.mysql.jdbc.Driver’.Thisisdeprecated.Thenewdriverclassis`com.mysql.cj.jdbc.Driver’.–每天进步一点点(longkui.site)某日构建springboot项目时,报的错:Loadingclass`com.mysql.jdbc.Driver'.Thisisdeprecated.Thenewdriver......
  • mysql 数据存储路径迁移
    目录mysql数据存储路径迁移迁移事项mysql数据存储路径迁移*重要在开始之前,我们用mysqldump对所有数据库做下备份,防止数据损坏导致数据丢失迁移事项1.mysql配置文件备份#停止数据库systemctlstopmysqldcp/etc/my.cnf/etc/my.cnf.bak#然后修改数据存储路径为你要调......
  • 误删MySQL数据?别慌,Binlog来帮忙【转】
    数据丢失是每一个数据库管理员和开发者都不愿面对的噩梦。然而,意外总是难免,当不小心删除了重要的数据,如何才能迅速而有效地进行恢复呢?在数据库中有二进制日志(Binlog),它不仅记录了所有更改数据的事件,还可以帮助将数据库恢复到任何一个特定的时间点。本篇文章将带您深入了解如何利......
  • 保证Mysql数据库的安全性
    数据库安全性的重要性在一个企业中,为了维护企业声誉和客户信任,保护客户信息和公司数据就显得至关重要,再者,确保公司的系统正常运行,也要保证数据不被恶意篡改,还需要抵御外部攻击和内部威胁。防止数据泄露加密:使用SSL/TLS加密传输数据,启用数据加密功能保护存储的数据使用Op......
  • MySQL的下载和安装
    一、下载安装包1.进入官网,下载MySQL安装包(https://www.mysql.com/)安装安装包下载完成后,双击安装包,进入安装指引 安装指引中,选择自定义安装Custom,并点击Next【下一步】 3.电脑缺少C++时,上一步中点击next后,会进入checkrequirements页,选择服务,并点击【execute......
  • MySQL数据库宕机,启动不起来,教你一招搞定!
    查看MySQLerror日志查看MySQLerror日志,排查哪个表(表空间)文件破坏或者丢失,线索就是[pageid:space=xxx,pagenumber=xxx]。2024-09-09T10:12:39.111413+08:000[ERROR]InnoDB:Databasepagecorruptionondiskorafailedfilereadofpage[pageid:space=73,page......
  • MySQL数据页损坏,数据库启动不起来,再教你一招搞定!
    上一篇文章[MySQL数据库宕机,启动不起来,教你一招搞定!]介绍了数据页损坏一种修复方法,现在介绍另外一种方法,使用第三方工具Inno_space来进行修复。Inno_space是一个专为解析和修复InnoDB表空间文件(.ibd)设计的命令行工具。它允许用户直接访问和操作这些文件,同时还支持修复corrupt......
  • 初识构造器
    1.构造器定义构造器也可称为构造方法,本质就是用来调动其他类到另一个类里达到实例化的方法。2.构造器的特征1.名称必须与类名一致2.不能有返回值3.构造器的作用1.用于new关键字调动构造方法,从而使得类可以被实例化(一个类即使什么都没写,也有默认的构造器,方便于调动,默认构造......
  • ElasticSearch的倒排索引和相关概念与MySQL的对比
    ElasticSearch的倒排索引和相关概念在用关系型数据库时,一些频繁用作查询条件的字段我们都会去建立索引来提升查询效率。在关系型数据库中,我们一般都采用B树索引进行存储,所以B树索引也是我们接触比较多的一种索引数据结构,但是在使用过程中,我们发现无法使用关系型数据库进行类......
  • Elasticsearch 倒排索引,ES相关概念对比MySQL
    elasticsearch之所以有如此高性能的搜索表现,正是得益于底层的倒排索引技术。什么是倒排索引?倒排索引的概念是基于MySQL这样的正向索引而言的。倒排索引中有两个非常重要的概念:文档(Document):用来搜索的数据,其中的每一条数据就是一个文档。例如一个网页、一个商品信息词条(Te......