数据库学习(三)—— SQL数据操作(增删改查)

目录

前言 

SQL语言

SQL语言编写和运行

一、数据表操作

1.1 创建表

1.2 删除表

1️⃣方法一:drop table students

2️⃣ 方法二:drop table if exists  students

方法二的使用: 

二、数据操作 -- 增删改查

2.1 简单查询(后面会详细介绍,此处略写)

2.2 添加数据

 2.2.1 添加一行数据

格式一;所有字段设置值,值的顺序与表中字段的顺序对应

格式二:部分字段设置值。值的顺序与给出的字段顺序对盛,给指定字段设置数据

2.3 修改

 2.4 删除

2.4.1 删除(不轻易使用)

 2.4.2 逻辑删除


数据库学习(三)—— SQL数据操作(增删改查)_第1张图片

前言 

SQL语言

  • 数据表操作:创建、删除
  • 数据操作:增加、删除、修改、简单查询
  • 数据操作:查询(重点)

SQL语言编写和运行


鼠标左键点击某个数锯库下面的查询按钮。然后点击新建查询

数据库学习(三)—— SQL数据操作(增删改查)_第2张图片

数据库学习(三)—— SQL数据操作(增删改查)_第3张图片

数据库学习(三)—— SQL数据操作(增删改查)_第4张图片

 需要保证程序员给的代码,能看懂

一、数据表操作


1.1 创建表

create table 表名(
        字段名 类型  约束,

        字段名 类型  约束,

        ...


例1:创建学生表,字段要求如下;
姓名(长度为10)

-- create table 表名(
--         字段名 类型  约束,
-- 
--         字段名 类型  约束,
-- 
--         ...
-- 
-- )
-- 注释: ctrl + /
-- 取消注释屏蔽: ctrl + shift + /


-- 例:创建学生表,字段要求如下;

-- 姓名(长度为10)
create table students(
	name varchar(10)
)

数据库学习(三)—— SQL数据操作(增删改查)_第5张图片

 数据库学习(三)—— SQL数据操作(增删改查)_第6张图片

例2:创建学生表,字段要求如下:
姓名(长度为10),年龄

-- 例:创建学生表,字段要求如下:
-- 姓名(长度为10),年龄
-- 
create table students2(
	name varchar(10),
	age int
)

数据库学习(三)—— SQL数据操作(增删改查)_第7张图片

例子3 :无符号

-- 例:创建学生表,字段要求如下:
-- 姓名(长度为10),年龄
-- 
create table students2(
	name varchar(10),
	age int unsigned
)

数据库学习(三)—— SQL数据操作(增删改查)_第8张图片

 例4: 创建学生表,字段要求如下:

姓名(长度为10),年龄,身高(保留小数点2位),带主键

--  例3: 创建学生表,字段要求如下:
-- 
-- 姓名(长度为10),年龄,身高(保留小数点2位),带主键

create table students3(
id int unsigned primary key auto_increment,
	name varchar(10),
	age int unsigned,
	heighe decimal(5, 2)
)

数据库学习(三)—— SQL数据操作(增删改查)_第9张图片

1.2 删除表

格式一: drop  table 表名
格式二:drop table if exists  表名

例:删除学生表

drop table students

        或
drop table if exists  students

1️⃣方法一:drop table students

第一步:检查未删除的情况 

数据库学习(三)—— SQL数据操作(增删改查)_第10张图片

第二步:输入删除命令,检查数据表是否删除

数据库学习(三)—— SQL数据操作(增删改查)_第11张图片

第三步:若数据表被删除,则使用drop table students会被警告

数据库学习(三)—— SQL数据操作(增删改查)_第12张图片

2️⃣ 方法二:drop table if exists  students

若数据表本身不存在,并不会报错数据库学习(三)—— SQL数据操作(增删改查)_第13张图片

第一步:方法二来进行数据表删除

数据库学习(三)—— SQL数据操作(增删改查)_第14张图片

方法二的使用: 

注意: 创建表之前,先删除再次创建,万一表存在。

数据库学习(三)—— SQL数据操作(增删改查)_第15张图片

第一步:表3原本存在,就算创建会覆盖原来,且用方法二存在的数据表也不会报错

数据库学习(三)—— SQL数据操作(增删改查)_第16张图片

数据库学习(三)—— SQL数据操作(增删改查)_第17张图片

drop table if exists students3;

create table students3(
id int unsigned primary key auto_increment,
	name varchar(10),
	age int unsigned,
	heighe decimal(5, 2)
)

注意: 多条SQL语句,每句结束需要添加分号,最后一句不要

需要注意的小细节

注意代码未运行前“原先表3有数据”,

数据库学习(三)—— SQL数据操作(增删改查)_第18张图片

但进行更新之后数据消失了,说明重新新建一个新的表3 

 数据库学习(三)—— SQL数据操作(增删改查)_第19张图片

二、数据操作 -- 增删改查

2.1 简单查询(后面会详细介绍,此处略写)

select  * from 表名

例子:查询所布学生致据
select  * from  students

数据库学习(三)—— SQL数据操作(增删改查)_第20张图片


2.2 添加数据

插入一行数据

 insert into students3 values(0, 'JOM', 12, 3.2)
 insert into students3 values(default, 'JANE', 12, 3.2)
 insert into students3 values(null, 'Tom', 12, 6.2)



给部分字段设置数据

 insert into students3(name) values('TLL')
 insert into students3(name, age) values('AMY',30)


执行多条语句插入多条数据
  insert into students3 values(null, 'Tom1', 12, 6.2);
 insert into students3 values(null, 'Tom2', 12, 6.2)


执行一条语句插入多条数据
insert into students3 values(null, 'RR', 12, 6.2),(null, 'AA', 12, 6.2)

 2.2.1 添加一行数据


格式一;所有字段设置值,值的顺序与表中字段的顺序对应

  • 说明:主键列是自动增长,插入时需要占位,通常使用0或者default-或者null来占位,插入成功后以实际故据为准

 insert  into  表名  values(..)


例:插入一个学生,设置所有字段的信息

数据库学习(三)—— SQL数据操作(增删改查)_第21张图片

注意:varchar型和日期均用单引号,来实现。

id主键:则可以写default,0, null

  •  id主键:0
insert into students3 values(0, 'JOM', 12, 3.2)

数据库学习(三)—— SQL数据操作(增删改查)_第22张图片

  • id主键:default 
insert into students3 values(default, 'JANE', 12, 3.2)

  • id主键: null
insert into students3 values(null, 'JANE', 12, 6.2)

 得数据表:数据库学习(三)—— SQL数据操作(增删改查)_第23张图片


格式二:部分字段设置值。值的顺序与给出的字段顺序对盛,给指定字段设置数据

insert into 表名(字段1,-.-) values(值1,.,)


例:插入一个学生。只设置姓名

insert into students3(name) values('TLL')

 数据库学习(三)—— SQL数据操作(增删改查)_第24张图片

例:插入一个学生。只设置姓名、年龄

-- insert into students3(name) values('TLL')
insert into students3(name, age) values('AMY',30)

 数据库学习(三)—— SQL数据操作(增删改查)_第25张图片

加多条的,多个SQL语句,加分号

 insert into students3 values(null, 'Tom1', 12, 6.2);
  insert into students3 values(null, 'Tom2', 12, 6.2)

数据库学习(三)—— SQL数据操作(增删改查)_第26张图片

 往表中某一字段插入数据,一条语句添加多条记录

insert into students3(name) values('TLL1'),('TLL2'),('TLL3'),('TLL4')

数据库学习(三)—— SQL数据操作(增删改查)_第27张图片

问: 若没有指定名称,没有指定字段怎么一条语句创建多条数据?

ANS:

insert into students3 values(null, 'RR', 12, 6.2),(null, 'AA', 12, 6.2)

数据库学习(三)—— SQL数据操作(增删改查)_第28张图片

注意:

         一条语句比多条少些一些代码,多条语句会让后端执行多次,一条语句的效率高些

2.3 修改

格式: update 表名 set  列1=值1,  列2 = 值2.. ..   where   条件


例:修改id为5的学生数据,姓名改为狄仁杰,年龄改为20

update students set name="狄仁杰", age=20  where  id=5
  • 不写条件更新全部数据:
-- 格式: update 表名 set  列1=值1,  列2 = 值2.. ..   where   条件

update students3 set age = 20

数据库学习(三)—— SQL数据操作(增删改查)_第29张图片

  •  写条件,更新指定数据

可写id = 5 或 name = ‘TLL’

update students3 set age = 60 where id = 5

数据库学习(三)—— SQL数据操作(增删改查)_第30张图片

  •  修改多字段
update students3 set name = 'APPLE', age = 30, heighe = 5.99 where id = 6

数据库学习(三)—— SQL数据操作(增删改查)_第31张图片

  •  后面修改条件很重要

数据库学习(三)—— SQL数据操作(增删改查)_第32张图片

 2.4 删除

2.4.1 删除(不轻易使用

格式:delete from  表名 where条件


例:删除id为6的学生数据
delete from students where id=6

  • 若不写条件,会将所有数据进行删除
delete from students3

数据库学习(三)—— SQL数据操作(增删改查)_第33张图片

  •  删除有条件,就删除符合条件的数据

数据库学习(三)—— SQL数据操作(增删改查)_第34张图片

-- 格式:delete from  表名 where条件
delete from students3 where   id = 2

 数据库学习(三)—— SQL数据操作(增删改查)_第35张图片

 注意: id越变越大,用过的将不会重新使用

数据库学习(三)—— SQL数据操作(增删改查)_第36张图片

 2.4.2 逻辑删除

逻辑删除︰对于重要的数据,不能轻易执行delete语句进行删除,一旦删除,数据无法恢复,这时可以进行逻辑删除。

  1. 给表添加字段,名字叫做isdelete ,int类型。代表数据是否删除:0代表未删除,1代表删除,默认值为0
  2. 把表中所有数据isdelete字段改为0.
  3. 当想要删除某条数据时,使用update语句 只需要把某条数据的isdelete字段为1,设置这条数据的isdelete字段为1  
    update students3 set isdelete = 1 where id = 1
  4. 在查询数据时,只查询出isdelete为0 的数据 
     select * from students3 where isdelete = 0

数据库学习(三)—— SQL数据操作(增删改查)_第37张图片

  •  把表中所有数据isdelete字段改为0.
-- isdelete = 0 代表数据未被删除
update students3 set isdelete = 0

 数据库学习(三)—— SQL数据操作(增删改查)_第38张图片

  •  isdelete = 1 代表数据被删
update students3 set isdelete = 1 where id = 1

数据库学习(三)—— SQL数据操作(增删改查)_第39张图片

  •  查询时,仅将isdelete = 0 的数据查找
select * from students3 where isdelete = 0

数据库学习(三)—— SQL数据操作(增删改查)_第40张图片

例:
1、给学生表添加字段(isdelete)。默认值为0,如果表中已经有数据,需要把所有数据的isdelete字段更新为 0

update students set  isdelete = 0
2、删除id为1的学生
update students set isdelete=1 where id=1

3、查询来删除的数据

select * from students where isdelete

注意: 

        像qq、微信、京东等提供永久注销的功能,并不是真正将其删除,而是将其禁用了,并没有真正的将其删除,还可以后悔。

看见isdelete  / is del 的字段代表逻辑删除

你可能感兴趣的:(MySQL,sql,数据库,navicat)