MySQL的基础部分

148 阅读3分钟

SQL基础知识汇总

mp.weixin.qq.com/s/RCoROHY7C…

SQL Server高级知识点

mp.weixin.qq.com/s/OF7-FG6zr…

MYSQL 入门全套

mp.weixin.qq.com/s/NdXgXeygr…

Navicat Premium 15 软件下载及安装教程

mp.weixin.qq.com/s/XsRCEnRdh…

数据库的安装

mp.weixin.qq.com/s/Bk_KVtiiD…

SQL Server安装包

mp.weixin.qq.com/s/xsiHl5-33…

数据库的类型与约束

  • 常用数据类型

    整数 int

    小数 decimal

    字符串 varchar

    日期时间 datetime

  • 约束

    主键 primary key

    默认值 default

    非空 not null

    唯一 unique

    外键 foreign key

  • MySQL对库的基本操作

    进入某表

    1.首先看有哪些库存在

    语法:show databases;

    展示数据库

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| demo               |
| game               |
| information_schema |
| library            |
| mysql              |
| pdd                |
| performance_schema |
| sakila             |
| sys                |
| world              |
+--------------------+

2.然后就是使用那个表(demo),也就是进入那个表(demo)

语法:use 表名;

mysql> use demo;
Database changed

MySQL的对表基础操作

Navicat使用MySQL注释

创建表

image.png

create table goods(
goodsName varchar(20),
price decimal(4,2)
);

常见错误:如果表已经被创建,再执行语句,会提示表已经存在

--优化
--如果表存在,执行删除操作
drop table if exists goods;
create table goods(
goodsName varchar(20),
price decimal(4,2)
);

插入数据

insert into 表名 values(…),(…)…

insert into student(name) values('老夫子')

直接插入多条数据

insert into students(name) values('老夫子5'),('老夫子6')

数据之间用英文逗号隔开

更新数据

uptate 表名 set 更新的内容(字段名=更新的数据) where 条件

uptate 表名 set 字段名name='火灵邪神',age=25 where id=5;

删除表数据

delete from 表名 where 条件

delete from students where id=6;

一定需要加上条件不然会出事的

查询数据

select * from 表名;

select 字段名

查询数据-条件查询

比较运算符

逻辑运算符

(>,<,=,<>,!=,>=,and,or,in,between,not)

查询数据-条件查询-模糊查询

select * from 表名 where 字段 like '%信息'

开头的话就把%放结尾,需要结尾的话就把%放前面,理解为占位符,替代这个空间的位置。

开头

select * from students where name like '孙%';

结尾

select * from students where name like '%巧';

包含

select * from students where name like '%巧%';

image.png

查询数据-条件查询-范围查询

查询数据-条件查询-空判断

判断空 : is null

注意 :null 与 ' ' 不是一码事;null :空;' ' :空字符 (例如:空格/制表符(tab))

-- not : 表示对条件取反;not null : 双重否定表示肯定

排序数据

排序(默认的话就是从小到大,升序,所以可以省略不写)

select * from 表名 order by 字段a;

asc升序(从小到大)

select * from 表名 order by 字段a asc;

desc降序(从大到小)

select * from 表名 order by 字段a desc;

a字段升序,a字段相同时,b字段降序

select * from movie order by a desc,b asc;

显示数据(分页)

当数据量很大的时候,可以使用 limit 关键字来分页显示数据,例如:

显示前三行的数据:

 select * from students limit 0,3;

显示4到6行的数据:


 select * from students limit 4,6;

显示前十行的数据:


 select * from student limit 10;

数据结果过滤可以使用 where 关键字进行筛选,例如:


select * from student as s where s.id=100;

起别名

为表名和字段起别名可以提高 SQL 语句的可读性和易用性,例如:

给学生表起别名:


SQL select s.name,s.sex,s.age from students as s; 

select 字段名1 as 信息1,字段名2 as 信息2 from students; ---中文别名

为了更好的看出信息