mysql 基础知识入门+ 案例练习(一)

120 阅读4分钟


携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第3天,点击查看活动详情

1. 安装

  • 说到mysql 怎么都躲不开的就是MySQL安装,之前写的一篇博客,已经很详细的说明了mysql 的安装 可以参考一下,navicate绿色版安装包也包含在内:

mysql数据库的安装与navicat 的使用乄捷径的博客-CSDN博客使用navicat需要安装mysql吗

2. 基本指令使用

2.1 数据库的相关概念

  1. DB database 数据文件(表格)
  2. DBMS data base Management System 数据库管理系统 MySQL Oracle DB2 SQLServer
  3. SQL Structured Questionery Language语言,专门用来操作数据库的语言,只要是数据库支持SQL都可以进行增删改查(CURD)

2.2 数据库的基本操作指令

  1. SHOW DATABASES; 查看所有数据库;
  2. 新建表格 create database 数据库名 ;
  3. 导入数据库 source 地址
  4. 进入数据库表 use 表名 ;
  5. show tables ; 显示表
  6. select * from 表名;

2.3 语法与分类

  1. 不区分大小写,命名的时候推荐使用 ' 单引号 ',"双引号也可以",每条SQL表达式结束之后都以 ;
  2. 据库里面的null不是数据类型,不能比较
  3. 数据库不能插入null值 and优先级比or高
  4. 字段代表表格中的列
  5. 表格中的行,叫做一条记录,或者一条元组
  6. 结束 SQL关键字之间以 空格 进⾏分隔 SQL之间可以不限制换⾏(可以有空格的地⽅就可以有换⾏)
  • SQL语言的分类:
分类类型作用
DQLData Query Language数据查询语言Select查询数据表
DMLData Manipulation Language数据操作语言insert,delete,update完成数据表中的数据添加(存储)、删除、修改
DDLData Definition Language数据定义语言create,drop,alter完成数据库、创建数据表
DCLData Control Language数据控制语言完成事务管理等控制性操作

3. DDL 数据库操作

3.1创建数据库

  1. 创建数据库
  2. create database 数据库名;
  3. create database is not exists 数据库名; // 判断如果数据库不存在进行创建
  4. create database character set utf8; // 创建数据库的时候 指定字符编码集

3.2 查询数据库

  1. show databases;
  2. show create database 数据库名; // 这样可以查看数据的字符编码集

3.3 修改数据库

  1. alter database 数据库名 character set gbk; // 修改数据库的字符编码集

3.4 删除数据库

  1. 删除数据库会删除数据库的所有数据表和其中的数据
  2. drop database 数据库名
  3. drop database if exsists 数据库名; // 如果存在才进行删除,防止报错

3.5 切换数据库

use 数据库名

3.6 数据库的表格操作

  1. desc 数据库中的表名 ; // 查询数据库中的表结构
  2. show tables; // 查看数据库中的所有表
  3. drop table 表名; // 删除数据表
  4. drop table if exists 表名; // 如果存在则删除,防止报错
  5. alter table 原来表名 rename to 新的表名; // 修改数据库表名
  6. alter table 表名 character set utf8; // 修改数据库的字符集,默认字符集与数据库一致
  7. alter table 表名 add 字段名 varchar(200) // 添加列(字段)
  8. alter table 表名 change 旧的字段名 新的字段名 类型 ; // 修改列(字段)的列表和类型
  9. alter table 表名 modify 字段名 字段类型 ; // 修改字类型
  10.  alter table stus modify stu_sex varchar(20);
    
  11. alter table stus drop 字段名; // 删除字段

4. 案例

4.1案例1

  1. 需求: 要求在自定义数据库中创建一张学生表,有姓名,年龄,电话,qq等字段;
// not null 表示此字段必填  unique 唯一,不可重复,每条语句用的是,隔开,不是分号,要注意~create table students(
    stu_name char(8) not null,
    stu_age int not null,
    stu_tel char(11) not null unique,
    stu_qq char(11) unique
);

补充where 条件查询

  1. 根据条件查询 where 字段 符号 值
  2. = !=或<> > >= < <=
  3. null 空
  4. is null 为空
  5. in 包含在里面(值1,值2,值3)
  6. and 并且 or 或者
  7. between 之间 类似于>= and =<
  8. like 模糊查询 %匹配任意(次 类型)字符 _单个任意字符

4.2案例2

需求: 在已知的数据表中使用 where 条件查询, 以emp (员工表)表为例

数据库test810emp表.png

create database test;                                               // 创建一个数据库
source F:\mysql\wc.sql                                              //导入数据库文件
select * from emp where ename = 'SMITH';                            //查询emp表中ename 为 'SMITH' 的员工所有信息
select * from emp where COMM is null;                               //查询emp表中 COMM 为null 如果是null 不能=进行判断
select * from emp where sal>=3000;                                  //查询emp表中 sal> 3000 的所有员工
select * from emp where sal>1000 and(deptno = 30 or deptno = 10);   //查询emp表中 符合条件的所有员工
 select * from emp where ename in ('ALLEN','KING','随便');           //查询emp表中 查询多个员工
 select * from emp where sal >1000 and sal<= 3000;                   //查询emp表中 查询sal范围的员工