MySQL基础

MySQL数据库(SQL语言)

image-20221126112823004

(一)MySQL概述

  1. 数据库相关概念

    • 数据库(DataBase-> DB):存储数据的仓库,数据是有组织的进行存储

    • 数据库管理系统(DataBase Management System-> DBMS):操纵和管理数据库的大型软件,eg:Oracle、MySQL

    • SQL(Structured Query Language->SQL):操作关系型数据库的编程语言,定义了一套操作关系型数据库统一标准

    • 通过SQL语句操作数据库管理系统从而操作数据库及其数据

  2. MySQL数据库

    • 下载及安装:

      • 下载版本:社区版8.0(免费)https://dev.mysql.com/downloads/installer/

      • 安装:

        1. 运行.msi

        2. 选择默认开发者模式:nextimage-20221126114647579

        3. 检查环境:next->yesimage-20221126114917750

        4. 检查要安装的组件:Execute(执行安装)->静待几分钟,全部被绿掉后nextimage-20221126115240859

        5. 配置变量:注意端口号3306,nextimage-20221126115750179

        6. 使用推荐安装方式,next

        7. 账户与用户设置:输入密码、确认密码->nextimage-20221126115935867

        8. 运用在window:注意开机时启动选项->nextimage-20221126120041164

        9. 应用信息:Executeimage-20221126120201578

        10. 完成:image-20221126120322251

         

    • 启动与停止:

      • 方式1:Windows命令(win+r)—>services.msc 找到MySQL80(名字)image-20221126121039369

      • 方式2:cmd命令行(以管理员方式)image-20221126121134708

    • 客户端连接:

      • 方式1:MySQL命令行客户端:开始里选择MySQL命令行客户端、要求输入密码image-20221126121524397

      • 方式2:系统自带的命令行工具执行指令:image-20221126121641875

    • 配置环境变量:PATH添加:复制:MySQL安装位置至bin目录下

  3. MySQL数据库:

    • 关系型数据库(RDBMS)

      • 概念:建立在关系模型基础上,由多张相互连接二维表组成的数据库

      • 特点:

        1. 使用表存储数据,格式统一,便于维护;

        2. 使用SQL语言操作,标准统一,使用方便

    • 数据模型(MySQL数据库如何存储数据):

      image-20221126123301654

(二)SQL语句

1. SQL的通用语法

  1. SQL语句可以单行或多行书写,以分号结尾

  2. SQL语句可以使用空格 缩进来增强语句的可读性

  3. MySQL数据库的SQL语句不区分大小写,关键字一般使用大写。

  4. 注释:

    • 单行注释:-- 注释内容 或 # 注释内容(MySQL特有)

    • 多行注释:/ *注释内容 * /

2. SQL分类

  1. DDL(Data Definition Language):数据定义语言,用来定义数据库对象(数据库,表,字段)

  2. DML(Data Manipulation Language):数据操作语言,用来对数据库表中的数据进行增删改

  3. DQL(Data Query Language):数据查询语言,用来查询数据库中表的记录

  4. DCL(Data ControlLanguage):数据控制语言,用来创建数据库用户、控制数据库的访问权限

    image-20221126124443854

3.DDL

  1. DDL-数据库操作

    • 查询

      • 查询所有数据库

         show databases;
      • 查询当前数据库

         select database();
    • 创建

       create database [if not exists] 数据库名 [default charset 字符集] [collate 排序规则];
       -- []里为可选项 例:
       create database itcast;
    • 删除

       drop database [if exists] 数据库名;
       -- 例
       drop database if exists itcast;
    • 使用

       use 数据库名;
  2. DDL-表操作

    • 查询

       -- 查询当前数据库所有表 前提是已经use 某数据库
       show tables;
       -- 查询表结构
       desc 表名;
       -- 查询表的建表语句
       show create table 表名;
    • 创建

       create table 表名(
        字段1 字段1类型 [comment 字段1注释],
        字段2 字段2类型 [comment 字段2注释],
        字段3 字段3类型 [comment 字段3注释],
        ...
        字段n 字段n类型 [comment 字段n注释]
       )[comment 表注释];
       -- 例 注意最后一个字段后没有,
       create table tb_user(
        id int comment '编号',
        name varchar(45) comment '姓名',
        age int comment '年龄',
        sex varchar(1) comment '性别'
       )comment '用户表';
    • 修改

      • 添加

         -- 添加字段
         alter table 表名 add 字段名 类型(长度) [comment 注释] [约束];
         -- 为 emp表添加一个新字段 昵称(nickname)varchar(20)
         alter table emp add nickname varchar(20) comment '昵称';
      • 修改

        • 修改数据类型

           alter table 表名 modify 字段名 新数据类型(长度);
           -- 案例:修改nickname 长度为50
           alter table emp modify nickname varchar(50);
        • 修改字段名和字段类型

           alter table 表名 change 旧字段名 新字段名 类型(长度) [comment 注释] [约束];
           -- 案例:修改nickname 字段名字为Nick 长度为20
           alter table emp change nickname Nick varchar(20);
        • 修改表名

           alter table 表名 rename to 新表名;
           -- 修改表名emp为employee
           alter table emp rename to employee;
      • 删除

        • 删除字段

           alter table 表名 drop 字段名;
           -- 删除 Nick字段
           alter table emp drop Nick;
        • 删除表:

           -- 删除表
           drop table [if exists] 表名;
           -- 删除指定表,并重新创建该表(最终只有表 没有任何数据)
           truncate table 表名;
  3. DDL-数据类型

    • 数值类型

      image-20221228205945301

      • 例如:

        • age TINYINT UNSIGNED ‘年龄,无符号(不能取负)’

        • score double(4,1)'成绩,长度为4,小数位为1'

    • 字符串类型

      image-20221228210222485

      • char用于字段长度确定时,性能较高;varchar用于不确定长度时,性能相对较差

      • 例如:username varchar(50) ‘用户名 ’; gender char(1) ‘性别’

    • 日期时间类型

      image-20221228210502957

      • 例如:birthday date ‘生日’

    • 案例:设计一张员工信息表,要求如下:

      image-20221228201416994

       create table emp(
       id int comment '编号',
       workno varchar(10) comment '员工工号',
       name varchar(10) comment '员工姓名',
       gender char(1) comment '性别',
       age tinyint unsigned comment '年龄',
       idcard char(18) comment '身份证号',
       enterdate date comment '入职时间'
       )comment '员工信息表';
  4. DDL-小结

    • DDL数据库操作

    • DDL表操作

    • DDL数据类型

(三)函数

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

posted @   TuMing图明  阅读(27)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示