解决方案

数据库及SQL语句入门教程

seo靠我 2023-09-24 22:17:56

目录

一.数据库的基本概念1.1 数据库的英文单词1.2 什么是数据库?1.3 数据库的特点1.4 数据库常用软件 二.MySQL数据库软件2.1 如何卸载?2.2 配置 三.SQL3.1 什么是SQLSEO靠我3.2 SQL通用的语法3.3 SQL分类 四.DDL:操作数据库、表4.1.操作数据库4.1.1 C(Create):创建4.1.2 R(Retrieve):查询4.1.3 U(update):修改SEO靠我4.1.4 D(Delete):删除4.1.5.使用数据库 4.2.操作表4.2.1 C(Create):创建4.2.2.R(Retrive):查询4.2.3.U(updata):修改4.2.4.D(SEO靠我Delete):删除4.2.5.复制表 五.DML:增删改表中的数据5.1.添加数据5.1.1 语法5.1.2 注意 5.2 删除数据5.2.1 语法5.2.2 注意 5.3 修改数据5.3.1 语法SEO靠我5.3.2 注意 六.DQL:查询表中的记录6.0 语法6.2 多个字段的查询6.3 去除查询中重复的部分6.4 计算列6.4 起别名6.5 排序查询6.5.1 语法6.5.2 排序方式6.5.3 注SEO靠我意 6.6 聚合函数6.5.1 count:计算个数6.5.2 max:计算最大值6.5.3 min:计算最小值6.5.4 sum:求和6.5.5 avg:计算平均值6.5.6 注意 6.7 分组查询SEO靠我6.6.1 语法6.6.2 注意 6.8 分页查询6.8.1 语法6.8.2 公式 6.9 条件查询 七.约束(主键之类的)概念7.1主键约束:Primary Key7.1.1 注意-主键7.1.2创SEO靠我建表时 - 添加主键7.1.3删除主键7.1.4创建表后,如何添加主键7.1.5主键自动增长 7.2 非空约束7.3 外键约束

一.数据库的基本概念

1.1 数据库的英文单词

答:DataBase 简称:DSEO靠我B

1.2 什么是数据库?

答:用于存储和管理数据的仓库

1.3 数据库的特点

答:

1)持久化存储数据。(其实就相当于一个文件夹)

2)方便存储和管理数据方便。

3)使用了统一的方式操作数据库 – SQL

1.4 SEO靠我数据库常用软件

二.MySQL数据库软件

2.1 如何卸载?

答:

1)最重要的就是找到在C盘的存储位置,删除它就好了。

2)完后可以直接卸载MYSQL就好。(控制面板-程序卸载)

2.2 配置

1.手动,启动服务SEO靠我

2.CMD -->services.msc 打开服务的窗口

3.使用管理员打开cmd:

net start my sql:启动mysql

net stop mysql:关闭mysql服务

4.MYSQL退出SEO靠我语句

答:quit

5.MySql目录结构

1)数据库:相当于文件夹

2)表:文件

3)数据

三.SQL

3.1 什么是SQL

答:

Structured Query Language : 结构化查询语言

其实就是定义了SEO靠我操作所有关系型数据库的规则。每一种数据库操作的方式存在不一样的地方,称为“方言”。

3.2 SQL通用的语法

答:

1)SQL语句可以单行或多行书写,以分号结尾。

2)可使用空格和缩进来增强语句的可读性

3)MSEO靠我ySQL数据库是不区分大小写的,但是建议关键字使用大写。

4)3种注释

– 单行注释: ①–(空格)注释内容 或 ②# 注释内容

③多行注释 /注释内容/

3.3 SQL分类

1)DDL(操作数据库和表的)

2)SEO靠我DML(增删改表中的数据)

3)DQL(查询表中的数据)

4)DCL(授权的)

四.DDL:操作数据库、表

4.1.操作数据库

4.1.1 C(Create):创建

1.创建数据库

答:SQL语句:create dSEO靠我atabase 数据库名称;

2.创建数据库并判断是否存在

答:create database 数据库名称 if not exists 数据库名称;

3.创建数据库并判断是否存在并设置字符集

答:createSEO靠我 database 数据库名称 character set 字符集合;

4.1.2 R(Retrieve):查询

1.查询所有数据库的名称

答:show database;

2.查询某个数据库的字符集:(查询SEO靠我某个数据库的创建语句)

答:show create database 数据库名称;

4.1.3 U(update):修改

1.修改数据库的字符集

答:alter database 数据库名称 characteSEO靠我r set 字符集;

4.1.4 D(Delete):删除

1.删除数据库

答:drop database 数据库名称;

2.判断数据库是否存在,完后再删除

答:drop database if exists SEO靠我数据库名称;

4.1.5.使用数据库

1.查询当前正在使用的数据库名称

答:select database();

2.选择数据库

答:use 数据库名称;

4.2.操作表

前提条件是已经选择了数据库

4.2.1 C(SEO靠我Create):创建

1)create table 表名(列名1 数据类型1,列名2 数据类型2 …) ;

2)注意:最后一列不要加逗号,

3)数据库类型包括哪些?

int

: 整数类型

double

:小数类SEO靠我

score double(5,2)有五位,保留两位

datetime

: 日期

包含年月日时分秒yyyy-MM–dd HH:mm:ss

timestamp

:时间戳类型

包含年月日时分秒 yyyy-MM–dSEO靠我d HH:mm:ss、

varchar:字符串类型

4.2.2.R(Retrive):查询

1.查询某个数据库中的所有表

答:show tables:

2.查询表结构

答:desc 表名;

4.2.3.U(updSEO靠我ata):修改

1.修改表名

答:alter table 旧表名 rename to 新表名;

2.修改表的字符集

答:alter table 表名 character set 字符集;

3.添加列

答:alteSEO靠我r table 表名 add 列名;

4.修改列名称,类型

答:alter table 表名 change 原列名 新列名 varchar(20);

5.删除列

答:alter table 表名 drop 列SEO靠我名;

4.2.4.D(Delete):删除

答:drop table if exists 表名;

4.2.5.复制表

答:create table 表名 like 被复制的表名;

五.DML:增删改表中的数据

5SEO靠我.1.添加数据

5.1.1 语法

答:insert into 表名 (列名1,列名2…)values(值1,值2,,…);

5.1.2 注意

1)列名和值要一一对应

2)如果表名后,不定义列名,则默认给所有列添SEO靠我加值

3)除了数字类型,其他类型需要使用引号(单双都可以)

5.2 删除数据

5.2.1 语法

答:delete from 表名[where 条件]

5.2.2 注意

1)如果不写条件,将全部删除

2)如果小删除所SEO靠我有记录

①delete from 表名; -->不推荐使用,一条一条的删除,太慢。

②TRUNCATE TABLE 表名; -->推荐使用这个,先直接删除整个表,再做一个空表效率高!

5.3 修改数据

5.3SEO靠我.1 语法

答:update 表名 set 列名1 = 值1,列名2 = 值2, …[where 条件];

5.3.2 注意

答:如果不加条件,则会全改

六.DQL:查询表中的记录

6.0 语法

答:selectSEO靠我 字段列表 from 表名列表 where 条件列表 group by 分组字段 having 分组之后的条件 order by 排序 limit 分页

6.2 多个字段的查询

1)select 字段名1SEO靠我,字段名2,…from 表名;

2)注意

如果要查询所有字段,可以使用*来代替字段列表;

6.3 去除查询中重复的部分

答:* select distinct 字段名 from 表名;

6.4 计算列

1)一般SEO靠我可以直接使用(字段名1+字段名2)四则运算来计算一些值(一般只计算数值型的值)。

2)ifnull(表达式1,表达式2);NULL参与结算,计算结果都为NULL

表达式1:那个字段需要判断是否为null;SEO靠我

表达式2:如果该字段为NULL后的替换值;

6.4 起别名

as:as也可以省略

6.5 排序查询

6.5.1 语法

1)order by 子句

2)order by 排序字段1,排序字段2…

6.5.2 排序方式SEO靠我

1)ASC:升序,默认的

2)DESC:降序

6.5.3 注意

如果有多个排序条件,则当前边的条件值一样时,才会判断第二个条件

6.6 聚合函数

概念:将一列数据作为一个整体,进行纵向的计算。

6.5.1 couSEO靠我nt:计算个数

1)一般选择非空的列:主键

2)count(*);

3)select count(id) from student;

6.5.2 max:计算最大值

SELECT max(math) FROM SEO靠我student;

6.5.3 min:计算最小值

SELECT min(math) FROM student;

6.5.4 sum:求和

SELECT sum(math) FROM student;

6.5.5SEO靠我 avg:计算平均值

SELECT avg(math) FROM student;

6.5.6 注意

1)聚合函数的计算,排除null值

2)解救方案:

①选择不包含非空的列进行计算

②IFNULL函数

6.7 分SEO靠我组查询

6.6.1 语法

group by 分组字段;【按照主观分类的感觉,不知道你能不能懂】

SELECT sex, avg(math),count(id) FROM student GROUP BY sSEO靠我ex;

6.6.2 注意

1)分组之后查询的字段:要么是分组字段、要么是聚合函数

2)where和having区别

①where在分组之前就进行了限定没如果不满足条件,则不参与分组;

②having是在分组之后SEO靠我限定,如果不满足结果,则不会被查询出来;

③where后不可以跟聚合函数,having可以进行聚合函数的判断;

例子:

select sex,AVG(math),COUNT(id),FROM studentSEO靠我 where math > 70 group by sex HAVING count(id) >2;

6.8 分页查询

6.8.1 语法

select * from student limit0,3; – SEO靠我第一页

6.8.2 公式

公式:开始的索引 = (当前的页码 - 1)*每页显示的条数

注意:limit操作是一个MYSQL“方言”;

6.9 条件查询

where

1.运算符:

<,>,>=,<=BETWEEN…SEO靠我AND…

*IN(集合)like

%

_

– 查询姓马的有哪些

SELECT * from student where name LIKE “__腾”;

*IS NULL

– null 不能用=来判断

SELECT SEO靠我* from student where english is NULL;

*and 或 &&or 或||

*not 或 !

七.约束(主键之类的)

概念

对表中的数据进行限定,保证数据的正确性、有效性、和完整SEO靠我

7.1主键约束:Primary Key

通俗解释:主键其实没那么高大上啦,所以大家不用怕!道理很简单,我给大家举个例子!你说在数据库中,与那么多的表,那么怎么去确认每一个表的不同之处呢?除了表的名字以SEO靠我外,也就是主键了,所以这个主键吧,有一点像人的身份证号,在每个表中是唯一的,一个表就至少含有一个主键,当然这个主键可以理解为一列,这个列是有特殊存在的含义的,就是确定这个表的唯一标识!

7.1.1 注意SEO靠我-主键

1)主键非空且唯一

2)一张表只能有一个字段为主键

3)之间就是表中记录的唯一标识

7.1.2创建表时 - 添加主键

添加主键SQL语句:

create table 表名(id int primary kSEO靠我ey,name vrchae);

7.1.3删除主键

ALTER TABLE stu DROP PRIMARY KEY;

7.1.4创建表后,如何添加主键

ALTER TABLE stu MODIFY id SEO靠我INT PRIMARY KEY;

7.1.5主键自动增长

概念:如果某一列是数值类型的,使用auto_increment可以来完成值得自动增长

在创建表时,添加主键约束,并且完成主键自增长

7.2 非空约束

SEO靠我建表时添加非空约束 CREATE TABLE stu1(id int,NAME varchar(20) NOT NULL ); 创建表完后,添加非空约SEO靠我束 Alter table stu modify name varchar(20) not null;

7.3 外键约束

*什么是外键约束?

外键相当于让表与表之间产生关联的一个桥梁,最终我SEO靠我们是想实现多表查询的,所以必须的有这么一座桥梁!.在创建表时,可以添加外键,让表与表产生关系,从而保证数据的准确性 create table 表名( .... 外键列 constraiSEO靠我nt 外键名称 foreign key (外键列名称) references 主表名称(主表列名称)); 删除外键 ALTER TABLE employee DROPSEO靠我 FOREIGN KEY emp_dept_fk;
“SEO靠我”的新闻页面文章、图片、音频、视频等稿件均为自媒体人、第三方机构发布或转载。如稿件涉及版权等问题,请与 我们联系删除或处理,客服邮箱:html5sh@163.com,稿件内容仅为传递更多信息之目的,不代表本网观点,亦不代表本网站赞同 其观点或证实其内容的真实性。

网站备案号:浙ICP备17034767号-2