数据库

MySql最最最最基础的通俗易懂的知识,数据库简介及常见的数据库

2021-03-12  本文已影响0人  嘤嘤嘤999

目录

一、Mysql简介:

*简单来说呢就是存储数据库的一个仓库,可以存储图片,视频,文字... 数据库(Database)是按照数据结构来组织、存储和管理数据的仓库

二、常见的数据库类型:

三、mysql安装和卸载

常见指令:

四、MySQL的使用

五、SQL语句分类

六、常用字段

七、常见类型

八、 简单的数据库语句

8.1创建数据库student:(创建一个表名为'student'的数据库)

8.2使用数据库:

8.3创建表:

8.4修改编码:

8.5新增数据;单条添加:

8.6新增数据;多条添加:

8.7修改数据:

8.8查询—全查:

8.9条件查询:

8.10模糊查询:

8.11排序—升序:

8.12排序—降序:

8.13分组查询:

九、多表联查

9.1内连接

9.2外连接

9.3全连接 full join = left join + union + right join

9.4三表联查

9.5子查询:一个表的查询的结果作为另一个表的条件

—————————————————————————————————————————
版权声明:本文为CSDN博主「HelloGuoYing」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/HelloGuoYing/article/details/114687017

一、Mysql简介:


MySQL是一种开放源代码的关系型数据库管理系统。
1.MySQL是一个关系型数据库管理系统,由瑞典MySQLAB公司开发,属于Oracle旗下产品。
2.MySQL使用最常用的数据库管理语言--结构化查询语言(SQL)进行数据库管理。
3.MySQL是开放源代码的,任何人都可以下载并根据个性化的需要对其进行修改。
4.MySQL因为其速度、可靠性和适应性而备受关注,MySQL是管理内容最好的选择。

*简单来说呢就是存储数据库的一个仓库,可以存储图片,视频,文字... 数据库(Database)是按照数据结构来组织、存储和管理数据的仓库

二、常见的数据库类型:

    大型:oracle,db2
    中型:mysql,sqlserver...
    小型:sqlite

三、mysql安装和卸载

MySQL官网下载地址:https://www.mysql.com/downloads/

MySQL安装教程:https://www.cnblogs.com/winton-nfs/p/11524007.html

常见指令:
①安装服务:mysqld --install
②初始化: mysqld --initialize --console
③开启服务:net start mysql
④关闭服务:net stop mysql
⑤登录mysql:mysql -u root -p
   Enter PassWord:(密码)
⑥修改密码:alter user 'root'@'localhost' identified by 'root';(by 接着的是密码)
⑦标记删除mysql服务:sc delete mysql
 删除对应的文件夹
 删除注册表(mysql)

四、MySQL的使用

1:黑窗口cmd
2:使用工具 navicat(下载地址:http://www.navicat.com.cn/)等等...,
工具很多自行选择自己喜欢用的,顺手就行,怎么方便怎么来啦~

五、SQL语句分类

数据定义语言DDL         create(创建),drop(删除),alter(修改),truncate(清空表,截断表)
数据查询语言DQL         select(查询)
数据操纵语言DML         insert(插入),delete(删除),update(修改)
数据控制功能DCL         grant (授权), revoke(回收)

六、常用字段

主键:primary key  
自增:auto_increment
空:null
默认:default
唯一:unique
外键:foreign

七、常见类型

    int   
    float
    double
    char      固定长度     
    varchar   长度变              
    text
    date
    time
    datetime

八、 简单的数据库语句

8.1创建数据库student:(创建一个表名为'student'的数据库)

create DATABASE student

8.2使用数据库:

 use student

8.3创建表:

create table student(
id int PRIMARY key auto_increment,
sname VARCHAR(20),
sex VARCHAR(2),
age int,
score FLOAT(4,2)
)

8.4修改编码:

 alter database student CHARSET=utf8

8.5新增数据;单条添加:

INSERT into student(id,sname,sex,age,score) VALUES(1,"大哥1","男",24,99.5)

8.6新增数据;多条添加:

INSERT into student VALUES(2,"大哥2","男",25,90.5),(3,"大哥3","女",22,89),(4,"大哥4","女",22,99)

8.7修改数据:

修改数据格式例如:update 表名 set 字段=修改的数据  where 字段=值
              UPDATE student set sname='大哥大'   where   id=2 

8.8查询—全查:

select * from +表名
select * from student

8.9条件查询:

select * from student where id=1 or id =2                          (id为1或2)
select * from student where id in(1,2,3,4)                         (id为1,2,3,4)    
select * from student where id BETWEEN 1 AND 4                     (id在1和4之间‘包括1和4’)

8.10模糊查询:

SELECT * from student where sname like '大%'             like'大%'     :将搜索以‘大‘开头的所有字符串(如 大哥)
SELECT * from student where sname like '%哥'             like'%哥'     :将搜索以‘哥‘ 结尾的所有字符串(如 大哥)
SELECT * from student where sname like '%哥%'            like'%哥%'  :将搜索包含'哥' 的所有字符串(如 大哥大)

8.11排序—升序:

select * from student ORDER BY score                升序:order by

8.12排序—降序:

select * from student ORDER BY score  desc          降序:order by desc

8.13分组查询:

select count(*) from student GROUP BY sex HAVING sum(score)>=85  GROUP BY:以其中一个字段的值来分组

注意:

1、HAVING必须在GROUP BY后面,

2、使用了HAVING必须使用GROUP BY,但是使用GROUP BY不一定使用HAVING!

3、GROUP BY必须得配合聚合函数来用,分组之后

常用聚合函数:

count()  AS 计数
sum()    AS 求和
avg()    AS 平均数
max()    AS 最大值
min()    AS 最小值
4、如果有where限制条件语句

where在前,GROUP BY在后,注意GROUP BY紧跟在where最后一个限制条件后面,不能被夹在where限制条件之间。

where在前,GROUP BY在后的原因:要先用where过滤掉不进行分组的数据,然后在对剩下满足条件的数据进行分组。

完整例子如下:

https://www.cnblogs.com/mark5/p/11115750.html

SELECT column_name, aggregate_function(column_name)
FROM table_name
WHERE column_name operator value
GROUP BY column_name; 

九、多表联查

    内连接   inner join..on
    外连接   left join..on ,right join..on
    全连接   full join (不适用mysql,适用oracle)   = left join + union + right join 

9.1内连接

*给表取名字时as可以写!也可以省略

select * from 表1 as 表1名称 inner join 表2 as 表2名称 on 表1名称.字段 = 表2名称.字段

举例如下:

select * from student as sss inner join class as ccc on sss.id = ccc.id

select * from student sss inner join class ccc on sss.id = ccc.id(as可以省略!!!!和上一行内容相同) 

9.2外连接

1、左连接:

select * from 表1 as 表1名称 left join 表2 as 表2名称 on 表1名称.字段 = 表2名称.字段

select * from student as sss left join class as ccc on sss.id = ccc.id (左边为主表,右边有则填充,没有用null)           

select * from student sss left join class ccc on sss.id = ccc.id(as可以省略!!!!和上一行内容相同) 

2、右连接:

select * from 表1 as 表1名称 right join 表2 as 表2名称 on 表1名称.字段 = 表2名称.字段

select * from student as sss right join class as ccc on sss.id = ccc.id(右边为主表,左边有则填充,没有用null)

select * from student sss right join class ccc on sss.id = ccc.id(as可以省略!!!!和上一行内容相同) 

9.3全连接 full join = left join + union + right join

1、select * from 表1 as 表1名称 full join 表2 as 表2名称 on 表1名称.字段 = 表2名称.字段

2、select * from 表1 as 表1名称 left join 表2 as 表2名称 on 表1名称.字段 = 表2名称.字段 UNION select * from 表1 as 表1名称 right join 表2 as 表2名称 on 表1名称.字段 = 表2名称.字段

select * from student as sss full join class as ccc on sss.id = ccc.id 

select * from student sss full join class ccc on sss.id = ccc.id(as可以省略!!!!和上一行内容相同) 

select * from student as sss left join class as ccc on sss.id = ccc.id UNION select * from student as sss right join class as ccc on sss.id = ccc.id

select * from student sss left join class ccc on sss.id = ccc.id UNION select * from student sss right join class ccc on sss.id = ccc.id(as可以省略!!!!和上一行内容相同) 

9.4三表联查

select * from 表1 as 表1名称 inner join 表2 as 表2名称 on 表1名称.字段 = 表2名称.字段 inner join 表3 as 表3名称 on 表1名称.字段 = 表3名称.字段

举例如下:

select * from student as sss inner join class as ccc on sss.id = ccc.id inner join school as sc on sss.id = sc.id

select * from student sss inner join class ccc on sss.id = ccc.id inner join school sc on sss.id = sc.id(as可以省略!!!!和上一行内容相同) 

9.5子查询:一个表的查询的结果作为另一个表的条件

举例如下:

SELECT city from school where school ='北京'
SELECT classroom from class where city=(SELECT city from school where school ='北京')

@希望能帮到大家!~有什么疑问可以评论或私信我,喜欢就多多支持我8

上一篇 下一篇

猜你喜欢

热点阅读