欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 科技 > 能源 > 第一章,初识MySQL

第一章,初识MySQL

2024/10/24 4:09:37 来源:https://blog.csdn.net/m0_68766848/article/details/143035368  浏览:    关键词:第一章,初识MySQL

文章目录

        • 第一章,初识MySQL
          • 一,什么是数据库
          • 二,数据库的分类
          • 三,相关概念
          • 四,操作数据库

第一章,初识MySQL
一,什么是数据库
  • 数据库(Database,简称DB)
  • 概念
    • 长期存放在计算机内,有组织、可共享的大量数据的集合,是一个数据“仓库”
  • 作用
    • 保存、管理数据
二,数据库的分类
  • 关系型数据库:SQL(Structured Query Language)
    • MySQL、Oracle、Sql Server、DB2、SQLlite
    • 通过表和表之间,行和列之间的关系进行数据的存储
    • 通过外键关联来建立表与表之间的关系
  • 非关系型数据库:NoSQL(Not Only SQL)
    • Redis、MongoDB
    • 指数据以对象的形式存储在数据库中,而对象之间的关系通过每个对象自身的属性来决定
三,相关概念
  • DBMS(数据库管理系统)

    • 数据库的管理软件,科学有效的管理、维护和获取我们的数据
    • MySQL就是数据库管理系统

    在这里插入图片描述

  • Mysql简介

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

    在这里插入图片描述

    • 下载Mysql
      • MySQL 5.5.40 (Windows版)
      • 下载地址:http://dev.mysql.com/downloads/
      • 注意:数据目录不要在系统盘,以免卸载时删除数据包启;用安装向导,避免繁琐的 my.ini 配置文件;数据库语言编码设置
    • 安装关键步骤:
      • 端口设置 3306(默认)
      • 编码设置 utf8
      • 密码设置
四,操作数据库
  • 基本命令

  • 所有的语句都要以分号结尾

    show databases;	--查看当前所有的数据库
    use 数据库名;	--打开指定的数据库
    show tables;	--查看所有的表
    describe/desc 表名;	--显示表的信息
    create database 数据库名;	--创建一个数据库
    exit	--退出连接--		--单行注释
    #		--单行注释
    /*...*/		--多行注释
    
  • 连接数据库

    • 打开MySQL命令窗口
    • 在DOS命令行窗口(cmd.exe)
    • 在窗口中进入 安装目录\mysql\bin
    • 连接数据库语句
    mysql  -h 服务器主机地址  –u  用户名  -p用户密码
    
  • 结构化查询语句分类

    在这里插入图片描述

  • 操作数据库

    --创建数据库
    CREATE DATABASE [IF NOT EXISTS] 数据库名;--删除数据库
    DROP DATABASE [if EXISTS] 数据库名;--使用数据库
    --如果表名或者字段名是特殊字符,则需要带``
    use 数据库名;--查看数据库
    SHOW DATABASES
    
  • 数据库的列类型

    • 数值

    在这里插入图片描述

    • 字符串
    类型说明最大长度
    char[(M)]固定长字符串,检索快但费空间, 0 <= M <= 255M字符
    varchar[(M)]可变字符串0 <= M <= 65535变长度
    tinytext微型文本串2*8–1字节
    text文本串2*16–1字节
    • 时间日期
    类型说明取值范围
    DATEYYYY-MM-DD,日期格式1000-01-01~ 9999-12-31
    TIMEHh:mm:ss ,时间格式-838:59:59~838:59:59
    DATETIMEYY-MM-DD hh:mm:ss1000-01-01 00:00:00 9999-12-31 23:59:59
    TIMESTAMPYYYYMMDDhhmmss格式表示的时间戳197010101000000 ~2037年的某个时刻
    YEARYYYY格式的年份值1901~2155
    • null
      • 没有值,未知
      • 不要使用NULL值进行计算
  • 数据库字段属性

    /*
    无符号的
    声明了该列不能为负数
    */
    UnSigned/*
    0填充的
    不足位数的用0来填充 , 如int(3),5则为005
    */
    ZEROFILL/*
    通常理解为自增,自动在上一条记录的基础上默认+1
    通常用来设计唯一的主键,必须是整数类型
    可定义起始值和步长
    当前表设置步长(AUTO_INCREMENT=100) : 只影响当前表
    SET @@auto_increment_increment=5 ; 影响所有使用自增的表(全局)
    */
    Auto_InCrement/*
    默认为NULL , 即没有插入该列的数值
    如果设置为NOT NULL , 则该列必须有值
    */
    NULL 和 NOT NULL/*
    默认的
    用于设置默认值
    例如,性别字段,默认为"男" , 否则为 “女” ; 若无指定该列的值 , 则默认值为"男"的值
    */
    DEFAULT
    
  • 创建数据库表

    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/*
    格式:
    CREATE TABLE IF NOT EXISTS `student`('字段名' 列类型 [属性] [索引] [注释],'字段名' 列类型 [属性] [索引] [注释],......'字段名' 列类型 [属性] [索引] [注释]
    )[表的类型][字符集设置][注释]常用命令:
    SHOW CREATE DATABASE 数据库名;-- 查看创建数据库的语句
    SHOW CREATE TABLE 表名;-- 查看表的定义语句
    DESC 表名;-- 显示表的具体结构
    */
    
    • 表名和字段尽量使用``括起来
    • AUTO_INCREMENT 代表自增
    • 所有的语句后面加逗号,最后一个不加
    • 字符串使用单引号括起来
    • 主键的声明一般放在最后,便于查看
    • 不设置字符集编码的话,会使用MySQL默认的字符集编码Latin1,不支持中文,可以在my.ini里修改
  • 数据库存储引擎

    • MySQL的数据表的类型:MyISAM、InnoDB 、HEAP、BOB、CSV等
    • 常见的MyISAM与InnoDB类型:
    名称MyISAMInnoDB
    事务处理不支持支持
    数据行锁定不支持支持
    外键约束不支持支持
    全文索引支持不支持
    表空间大小较小较大,约2倍
    • 使用MyISAM: 节约空间及相应速度
    • 使用InnoDB: 安全性,事务处理及多用户操作数据表
  • 数据库表的存储位置

    • MySQL数据表以文件方式存放在磁盘中
      • 包括表文件 , 数据文件 , 以及数据库的选项文件
      • 位置 : Mysql安装目录\data\(目录名对应数据库名 , 该目录下文件名对应数据表)
    • MySQL在文件引擎上区别:
      • INNODB数据库文件类型就包括**.frm**、.ibd以及在上一级目录的ibdata1文件
      • MYISAM存储引擎,数据库文件类型就包括
        • .frm:表结构定义文件
        • .MYD:数据文件
        • .MYI:索引文件
  • 修改数据库

    • 修改
    -- 修改表名
    -- ALTER TABLE 旧表名 RENAME AS 新表名
    ALTER TABLE teacher RENAME AS teachers;-- 增加表的字段
    -- ALTER TABLE 表名 ADD 字段名 列属性
    ALTER TABLE teachers ADD age INT(11);-- 修改表的字段(重命名,修改约束)
    -- ALTER TABLE 表名 MODIFY 字段名 [列属性];
    ALTER TABLE teachers MODIFY age VARCHAR(11);-- 修改约束
    -- ALTER TABLE 表名 CHANGE 旧名字 新名字 [列属性];
    ALTER TABLE teachers CHANGE age age1 INT(1);-- 字段重命名-- 删除表的字段
    -- ALTER TABLE 表名 DROP 字段名
    ALTER TABLE teachers DROP age1;
    
    • 删除
    -- 删除表(如果存在再删除)
    DROP TABLE IF EXISTS teachers;
    /*
    IF EXISTS为可选 , 判断是否存在该数据表
    如删除不存在的数据表会抛出错误
    */
    

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com