MySQL —— SQL详解

目录

简述

1.1 数据定义语言

1.1.1 创建数据库

1.1.2 使用数据库

1.1.3 显示数据库

1.1.4 删除数据库

1.1.5 创建表

1.1.6 查看当前数据库所有表

1.1.7 查看表结构

1.1.8 改变表结构

1.1.9 删除表

小结

1.2 数据操纵语言

简述

1.2.1 向表中插入数据

1.2.2 更新表中的数据

1.2.3 删除表中的数据

1.3 数据查询语言

 小结

简述

SQL全称: Struct Query Language 结构化查询语言,专门访问数据库的标准语言,它是面向过程的结构化语言,不是面向对象的语言。

SQL由以下几部分组成:数据定义语言、数据操纵语言、数据查询语言、事务控制语言。

1.1 数据定义语言

数据定义语言,简称DDL。常用的操作如下:创建数据库、创建表、修改表结构等,这些操作和数据无关,只跟数据的结构有关。就像在java中定义类,在类中定义属性。

1.1.1 创建数据库

MySQL有两种方式创建数据库。第一种方式直接创建,第二种方式创建之前先判断当前数据库是否存在如果不存在才创建。

直接创建: create database <数据库名称>;

先判断后创建: create database if not exists <数据库名称> default charset <字符集编码>;

一般使用第二种,第一种如果已经存在会报错。

1.1.2 使用数据库

语法:use <数据库名称>;

注:MySQL中也有单行注释和多行注释

  • 单行注释:#注释内容
  • 单行注释:-- 空格注释内容    其中--后面的空格必须有
  • 多行注释:/* 注释内容 */

1.1.3 显示数据库

语法: show databases ;

1.1.4 删除数据库

MySQL有两种方式删除数据库,第一种直接删除,第二种在删除之前先判断是否存在如果存在才删除。

第一种语法: drop database <数据库名称>;

第二种语法: drop database if exists <数据库名称>;

1.1.5 创建表

语法: create table <表名称>(
 列名称1   数据类型,
 列名称2   数据类型,
 ................    
 列名称n   数据类型
);

注: 每个列名称之间使用半角逗号分隔,最后一列没有半角符号

        java是先写数据类型后写属性名,MySQL是先写列名称后写数据类型

例如: 创建商品信息表和商品类型表

-- 创建表之前必须制定数据库,此时表示在test数据库下创建表
use test;

drop table if exists goods;
create table goods(
   id int auto_increment primary key , -- 编号
	 `name` varchar(50) not null,  -- 名称
	 type_number int not null,  -- 类型编号
	 price double not null, -- 价格
	 birthday datetime not null, -- 生产日期
	 life int not null -- 有效期(整型,表示n个月
)default charset=utf8;

drop table if exists type;
create table type(
	 type_number int auto_increment primary key, -- 类型编号
	 type_name varchar(50) not null -- 类型名称
)default charset=utf8;

1.1.6 查看当前数据库所有表

show tables;

1.1.7 查看表结构

-- 第一种方式
desc <表名称>;

-- 第二种方式
show create table <表名称>;

1.1.8 改变表结构

改变表结构包括如下内容:添加一列(add)、修改列的数据类型(modify)、修改列名称和数据类型(change)、删除某一列(drop)、表的重命名(rename)。

语法: alter table <表名称> [add|modify|change|drop|rename];

1.1.9 删除表

语法: drop table <表名称> ;

小结

-- 数据库操作
create database 
drop   database
use 数据库名称
show databases;
-- 表的操作
create table 
drop table
alter table
-- 查看表结构
desc 表名称;
show create table  表名称;


1.2 数据操纵语言

简述

数据操纵语言(Data Manipulation Language),简称DML,用于改变表中的数据。

主要操作包括:增加(插入)数据 insert 、删除数据 delete、修改数据update。以上操作只改变表中的数据不会改变表结构

1.2.1 向表中插入数据

-- 第一种插入数据,语法如下:
-- 为表的所有列插入数据
-- insert into <表名称> values(值1,值2...值n); 每个值之间以半角逗号分离
-- 例如:向tb_province表插入一条数据

insert into goods values(default,'冰红茶',1,'3','2021-8-23','12');


-- 第二种插入数据,语法如下:
-- 插入部分数据,列数量和值数量必须一致
-- insert <表名称>(列1,列2)values(值1,值2);
-- 插入部分数据一定要指定列名称

insert into goods(id,`name`,type_number,price,birthday,life) values(default,'冰红茶',1,'3','2021-8-23','12');


-- 第三种插入数据,语法如下:
-- 在一个insert关键字中插入多条数据
-- insert  <表名称> values (所有的列名称), (所有的列名称),(所有的列名称);

insert goods values(default,'冰红茶',1,'3','2021-8-23','12');

建表成功后显示为:

1.2.2 更新表中的数据

-- 语法:
-- update 表名称 set 列名称=值,列名称=值.... <where 条件>;
-- 如果修改多个数据由半角逗号分隔
-- where表示行过滤,只修改满足条件的数据
-- 场景:将id为1的货物,改为'王老吉'
update goods set `name`='王老吉' where id = 1;

1.2.3 删除表中的数据

delete from 只会删除表中的数据不会删除表结构,工作中如果要使用delete删除表一定要加上where条件,否则会把表中所有数据都删除。

-- 语法:
-- delete from <表名称> where  条件;
-- 场景:删除id为2的货物
delete from goods where id = 2;


1.3 数据查询语言

数据查询语言(Data Query Language)DQL

只能对表进行查询操作,主要用于查询表中的数据,查询之前和查询之后表中的数据不会发生变化。

-- 语法
select  列名称1,列名称2... 列名称N
from 表名称
where
group by
having
order by
limit;

前面两个关键字必须有,后面的可选

from后面跟表名称

select后面跟列名称 *表示查询所有列

select * 
from goods;
-- MySQL控制台向MySQL服务器发送命令
-- 服务器先收到 from goods,表示要查询服务器的那张表,确定表名称
-- 然后服务器收到 select 选择要查询哪些列,此时的 * 表示查询表中所有列
-- from  goods 表名称表示从服务器数据文件去检索(查询)数据
-- 先执行from关键字后执行select关键字
-- select  *  from goods; 表示从goods表中选择所有的列进行查询

 场景: 查询货物表id为3的名字

SELECT
	`name` 
FROM
	goods 
WHERE
	id = 3;


 小结

1 列出关键字 select from where

2 在from关键字后面确定表,因为服务器先执行from

3 在where关键字后面确定要查询的行 id =3

4 在select关键字后面确定要查询表的那些列

   from确定要查询的表,where做行过滤确定行,select列过滤确定

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

才疏学浅的小缘同学

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值