MySQL基础知识

一、数据库基本介绍


1.什么数据库?
  • 用于存储和管理数据的仓库

2.它有什么特点
  • 可以持久化存储数据,是一个文件系统

  • 方便存储和管理数据

  • 使用统一的方式操作数据库,即SQL


二、MySQL数据库软件

1.安装
  • 根据相关文档安装

2.卸载
  • 打开程序与应用卸载MySQL

3..使用
  • win+R输入cmd进入命令窗口

  • 输入net start mysql启动MySQL服务,net stop mysql关闭MySQL服务(如果显示不是内部命令,用管理员身份打开cmd命令窗口

  • 输入mysql -uroot -proot进入MySQL

  • 输入mysql -hip地址 -u密码 -p密码,访问其他IP地址的MySQL

4.配置
  • 安装目录:mi.ini配置文件

  • 数据目录:

    • 数据库:文件夹

    • 表:文件

    • 数据


三、操作数据库---SQL

1.什么是SQL?
  • Structured Query Language:结构化查询语言

  • 定义了操作所有关系型数据库的规则

  • 方言:每一种数据库不同的操作方式

2.SQL通用语法
  • 语句可以是单行或多行书写,以分号结束

  • 语句不区分大小写,建议关键字大写

  • 注释:

    • 单行注释:--加空格或直接使用#

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

3.SQL分类:
  • DDL(操作数据库和表)

    • 操作数据库

    • Create

      • create database if not exists 数据库名;--先判断数据库是否存在再创建

      • show create databases 数据库名; --查询创建数据库的字符集

      • create database 数据库名 character set 字符集;--指定字符集

    • Retrieve

      • show databases; --查询已存在所有数据库

    • Update

      • alter database 数据库名 character set 字符集;--修改数据库字符集

    • Delete

      • drop database 数据库名;--删除数据库

      • drop database if exists 数据名;--先判断再删除

    • use

      • use 数据库名;--使用数据库


    • 操作表

    • Create

      • create table 表名(

        列名1,数据类型,

        列名1,数据类型,

        列名1,数据类型,

        ......

        列名1,数据类型

        );--最后一列不加逗号

        • 举例:创建学生表

         create table studetn(
          id int,
          name varchar(10),
          age int,
          gender varchar(4),
          score double(4,1),
            birthday date,
          insert_time timestamp
         );

         

      • 数据类型

        • int --整形

        • double(位数,保留几位) --浮点型

        • timestamp--时间戳,当不赋值或为null时,自动使用系统时间赋值

        • varchar(最大字符) --字符型,不用空格补齐字符

    • Retrieve

      • show tables;--查询使用数据库的所有表

      • desc 表名;--查询表结构

    • Update

      • alter table 表名 rename to 新表名; --修改表名

      • alter table 表名 character set 字符集名称;-- 修改字符集

      • alter table 表名 add 列名 数据类型;--添加列

      • alter table 表名 change 被改列名 新列名 新类型;--修改列名,数据类型

      • alter table 表名 modify 被改列名 新类型;--modify只能修改列属性,不能修改列名

      • alter table 表名 drop 列名;--删除列

    • Delete

      • drop table 表名;-- 删除表

      • drop table if exists 表名;--先判断再删除

    • 复制表:create table 表名 like 被复制表名;


  • DQL(查询表中的数据)

    • 查询表中所有数据:select * from 表名;

    • 语法:

      select

      字段名

      from

      表名

      where

      条件列表

      group by --分组列表

      having --分组条件

      order by --排序

      limit --分页列表

  • 基础查询

    • 多字段查询

      select 字段1,字段2 ,... from 表名;

    • 去重查询(查询结果集中有多个相同的字段)

      select distinct 字段名 from 表名;

    • 计算列(可以对数值类型的列进行四则运算)

      select math,english,math+ifnull(english,0) as score from student;

      ifnull(表达式1,表达式2),判断是否为空,是则返回表达式2,否则返回表达式1.

    • as 给表名或字段名取别名

  • 条件查询

    • where子句后跟条件

    • 运算符查询:>、<、=、<=、>=、!=(或<>)

    • 范围查询:between 范围1and 范围2 --适合小范围查询

    • 集合查询:in(集合)--查询与集合内值相等的数据 --适合大范围查询

    • 条件是字段的用is连接 --例:查询字段为null的数据

    • 多条件查询:and、or、&&、||

    • 非查询:!、not

    • 模糊查询:like

      • '_'表单个任意字符

      • '%'表示多个任意字符

      • 实例:查询学生表中姓刘的学生

        select * from student where name like '刘%';

        查询学生表中第二个字是佳的学生

        select * from student where name like '_佳%';

        查询学生表中包含佳的学生数据

        select * from student where name '%佳%';


  • DML(增删改表中数据)

    • 添加数据:insert into 表名(列名1,列名2,列名3,..) values(值1,值1,值1,...);

      insert into student(id,name,gendet) values(1,'张三','男');

      • 注意:

        1. 列名要与添加的值一一对应,

        2. 不写列名,需给所有列添加值

        3. 除了数字类型外,其他所有类型的值都需要引号(一般使用单引号)引起来

    • 删除数据:

      • delete from 表名 [where 条件];

        删除学生表中id为12的学生的数据

        delete from student where id = 12;

        • 注意:不加条件的话就删除表中的所有数据,但表中有多少条数据就会执行多少次delete语句,效率低。

      • truncate table 表名;--先删除表,再创建一张相同的表,只执行两次(删除表,创建表),建议删除全表数据使用。

        删除学生表中的所有数据

        truncate table student;

    • 修改数据:

      • update 表名 set 列名1=值1,列名2=值2,...[where 条件];

        更改学生表中id为1的学生地址为北京

        update student set address = '北京' where id = 1;

      • 注意:不加条件则会将表中所有对应的列修改为相同的值,不建议使用。


DCL(授权)


CRUD

  • Create(创建)

  • Retrieve(查询)

  • Update(更改)

  • Delete(删除)


4.图形化界面工具SQLyog
  1. 安装

    • 安装文档

  2. 使用

    • 连接数据库:输入对应的信息,测试连接,保存信息


 

posted @ 2021-10-27 20:41  南一川  阅读(182)  评论(0)    收藏  举报