0717-7821348
新闻中心

公司动态

您现在的位置: 首页 > 新闻中心 > 公司动态
MySQL数据库根底和SQL言语入门,学习往后真的很硬核
2019-11-26 22:22:00

MySQL是一个联系型数据库办理体系,由瑞典MySQL AB 公司开发,现在归于 Oracle 旗下产品。MySQL 是最盛行的联系型数据库办理体系之一,在 WEB 运用方面,MySQL是最好的

RDBMS (Relational Database Management System,联系数据库办理体系)

运用软件。

MySQL的装置和装备

参阅文档:https://jingyan.baidu.com/article/9f7e7ec04407ff6f29155478.html

相关概念:

数据库: 数据的库房,存储数据的当地。

表: 分类对数据进行存储,实践保存数据的当地

列(字段): 详细的一项信息,如:名字、年纪

行(记载): 实践的实体信息

主键: 能仅有地标识一行记载的列

Navicat图形东西的运用:

Navicat for MySQL是常用的MySQL客户端东西,能够从网上下载,免费运用30天。

参阅文档:https://jingyan.baidu.com/article/d7130635cd6b7913fcf47573.html

MySQL数据类型:

SQL言语:

SQL全称是结构化查询言语(Structured Query Language)。运用SQL能进行数据库的增删查改。学习数据库的根本核心内容便是SQL。

SQL分类如下:

数据界说言语(DDL:Data Definition Language)

数据操作言语(DML:Data

Manipulation Language)

数据查询言语(DQLMySQL数据库根底和SQL言语入门,学习往后真的很硬核:Data

Query LanguagMySQL数据库根底和SQL言语入门,学习往后真的很硬核e)

数据控制言语(DCL:Data

Control Language)

一、DDL

数据库界说言语:

创立数据库

create

database 数据库名;

运用数据库

use 数据库名;

删去数据库

drop

database 数据库名;

drop

database if exists 数据库名;

创立表

create

table 表名(

列名 数据类型 束缚,

...

);

主键:primary

key

主动增加: auto_increment

删去表

drop

table 表名;

drop

tMySQL数据库根底和SQL言语入门,学习往后真的很硬核able if exists 表名;

操练:

创立my_db数据库

在my_db中,创立学生表,包括编号(主键,自增)、名字、年纪和地址

二、DML

数据新增

insert into 表名(列1,列2...)

values(值1,值2...)

示例:

-- 刺进一行记载

insert

into student(name,age,gender,address)

values('张三',20,'男','湖北武汉');

-- 刺进多行记载

insert into

student(name,age,gender,address)

values

('李四',20,'男','湖北武汉'),

('李大四',22,'女','北京'),

('李小四',25,'女','北京'),

('李四四',27,'女','上海');

-- 将表中的数据刺进到其它表

insert into

student2(name,age,gender,address)

select

name,age,gender,address from student;

留意:

1、主动增加列不要增加数据

2、列的数量、类型和次序要和值共同

数据修正

update 表名 set

列1=值1,列2=值2

where 条件

示例:

-- 更新李小四的地址为四川成都

update

student set address = '四川成都'

where

name = '李小四';

-- 更新多列

update student set

address = '四川成都',age = 18

where name = '李小四';

数据删去

delete from 表名

where 条件

示例:

-- 删去id=2的学生

delete

from student where id = 5;

操练:

在学生表中增加5行记载,

更新id为5的学生年纪为22

删去id为3的学生

四、DQL

查询一切数据

select * from 表;

查询指定字段的一切数据

select 列1,列2

from 表;

where条件查询

select * from 表

where 条件

=、!=、in、not

in、and、or

示例:

-- 查询一切行一切列

select * from

student;

-- 查询部排列

select

name,address from student;

-- 增加where条件 查询id为2的学生

select

* from student where id = 2;

-- 查询id不为2的

select * from

student where id != 2;

-- 查询地址为湖北武汉以及四川成都林正英僵尸电影全集国语高清的学生

select * from

student where address = '湖北武汉' or address = '四川成都';

-- 查询年纪20岁以上的男的

select * from

student where age >= 20 and gender = '男';

-- 查询地址为湖北武汉以及四川成都的学生2

select * from

student where address in('湖北武汉','四川成都');

-- 查询地址不是湖北武汉以及四川成都的学生

select * from

student where address not in('湖北武汉','四川成都');

去掉重复数据

distinct关键字

select distinct 列

from 表;

示例:

-- 查询学生的地址,不重复

select DISTINCT

address from student;

-- 给列设置别号

select id 编号,name

名字,age

年纪,gender

性别,address

地址

from student;

-- 查询年纪在20到25之间的女生

select * from

student where age >= 20 and age <=25 and gender='女';

select * from

student where age between 20 and 25 and gender ='女';

-- 查询北京或武汉的男生

select * from

student where address in ('北京','湖北武汉')

and gender ='女';

排序查询

select * from 表

order by 列 desc\asc

示例:

-- 按年纪升序排序

select

* frMySQL数据库根底和SQL言语入门,学习往后真的很硬核om student where gender = '男'

order by age asc;

-- 降序

select * from

student order by age desc;

分页查询

limit n; 回来长度为n的行

limit n,m; 回来从n方位,长度为m的行

select * from

tb_name limit 5; 显现成果的前5条记载

select

* from tb_name limit 0,5; 区段查询

示例:

-- 按年纪升序排序

select * from

student where gender = '男' order by age

asc;

-- 降序

select * from

student order by age desc;

-- 经过limit约束行数 前5行

select * from

student limit 5;

-- 经过limit分页查询 第一页 第0行到第5行,第二页 第6行到第10行...

select * from

student LIMIT 0,5;

select * from

student LIMIT 5,5;

select * from

student LIMIT 10,5;

操练:

年纪最大的男学生

年纪最小的五个女学生

聚合函数

求和:sum

求平均值:avg

求最大值:max

求最小值:min

求数量: count

示例:

select

sum(col_name) from tb_name;

分组查询

group by 分组列

where 在分组之前进行条件挑选

having 在分组之后进行条件挑选

where --> group

by ---> having

示例:

-- 运用聚合函数

select sum(age) 总年纪,avg(age)

平均年纪,

max(age) 最大年纪,min(age)最小年纪,count(*)

学生数量

from student;

-- 求来之不同当地的学生人数

select address 原籍,count(*)

人数

from student group by address;

-- 求男女学生的人数

select gender 性别,count(*)

人数,avg(age)

平均年纪

from student group by gender;

-- 求人数超越5人的原籍

select address 原籍,count(*)

人数

from student

group by address

having count(*) >= 5;

-- 年纪总和超越200的性别

select gender 性别,sum(age)

总年纪

from student

group by gender

having sum(age) > 200;

含糊查询

通配符:

% 匹配恣意多字符

_ 匹配一个字符

like关键字

示例:

-- 查找一切姓李的人

select * from

student where name like '李%';

select * from

student where name like '%大%';

select * from

student where name like '李_';

作业

写SQL句子:

1、创立职工表:

维修部

2、在表中刺进上面的数据

3、更新id为2的薪酬,将薪酬加200

4、删去年纪低于20的职工

5、查询年纪超越24,薪酬小于5000的职工

6、查询每个部分的薪酬总和和平均年纪

7、查询平均薪酬小于4000的部分

Oracle和SQL言语的学习材料获取方法:转发文章+重视私信【材料】