目录
前言
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语言
- 数据表操作:创建、删除
- 数据操作:增加、删除、修改、简单查询
- 数据操作:查询(重点)
SQL语言编写和运行
- 数据表操作:创建、删除
- 数据操作:增加、删除、修改、简单查询
- 数据操作:查询(重点)
SQL语言编写和运行
鼠标左键点击某个数锯库下面的查询按钮。然后点击新建查询
需要保证程序员给的代码,能看懂
一、数据表操作
1.1 创建表
create table 表名(
字段名 类型 约束,
字段名 类型 约束,
...
)
1.1 创建表
create table 表名(
字段名 类型 约束,字段名 类型 约束,
...
)
類例1:创建学生表,字段要求如下;
姓名(长度为10)
-- create table 表名( -- 字段名 类型 约束, -- -- 字段名 类型 约束, -- -- ... -- -- ) -- 注释: ctrl + / -- 取消注释屏蔽: ctrl + shift + / -- 例:创建学生表,字段要求如下; -- 姓名(长度为10) create table students( name varchar(10) )
類例2:创建学生表,字段要求如下:
姓名(长度为10),年龄
-- 例:创建学生表,字段要求如下: -- 姓名(长度为10),年龄 -- create table students2( name varchar(10), age int )
類例子3 :无符号
-- 例:创建学生表,字段要求如下: -- 姓名(长度为10),年龄 -- create table students2( name varchar(10), age int unsigned )
類 例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) )
1.2 删除表
格式一: drop table 表名
格式二:drop table if exists 表名
格式一: drop table 表名
格式二:drop table if exists 表名
類例:删除学生表
drop table students
或
drop table if exists students
1️⃣方法一:drop table students
第一步:检查未删除的情况
第二步:输入删除命令,检查数据表是否删除
第三步:若数据表被删除,则使用drop table students会被警告
2️⃣ 方法二:drop table if exists students
若数据表本身不存在,并不会报错
第一步:方法二来进行数据表删除
方法二的使用:
注意: 创建表之前,先删除再次创建,万一表存在。
注意: 创建表之前,先删除再次创建,万一表存在。
第一步:表3原本存在,就算创建会覆盖原来,且用方法二存在的数据表也不会报错
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有数据”,
但进行更新之后数据消失了,说明重新新建一个新的表3
二、数据操作 -- 增删改查
2.1 简单查询(后面会详细介绍,此处略写)
select * from 表名
例子:查询所布学生致据
select * from students
select * from 表名
例子:查询所布学生致据
select * from students
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(..)
插入一行数据
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)
格式一;所有字段设置值,值的顺序与表中字段的顺序对应
- 说明:主键列是自动增长,插入时需要占位,通常使用0或者default-或者null来占位,插入成功后以实际故据为准
insert into 表名 values(..)
insert into 表名 values(..)
類例:插入一个学生,设置所有字段的信息
注意:varchar型和日期均用单引号,来实现。
id主键:则可以写default,0, null
- id主键:0
insert into students3 values(0, 'JOM', 12, 3.2)
- id主键:default
insert into students3 values(default, 'JANE', 12, 3.2)
- id主键: null
insert into students3 values(null, 'JANE', 12, 6.2)
得数据表:
格式二:部分字段设置值。值的顺序与给出的字段顺序对盛,给指定字段设置数据
insert into 表名(字段1,-.-) values(值1,.,)
insert into 表名(字段1,-.-) values(值1,.,)
類例:插入一个学生。只设置姓名
insert into students3(name) values('TLL')
類例:插入一个学生。只设置姓名、年龄
-- insert into students3(name) values('TLL')
insert into students3(name, age) values('AMY',30)
加多条的,多个SQL语句,加分号
insert into students3 values(null, 'Tom1', 12, 6.2); insert into students3 values(null, 'Tom2', 12, 6.2)
往表中某一字段插入数据,一条语句添加多条记录
insert into students3(name) values('TLL1'),('TLL2'),('TLL3'),('TLL4')
问: 若没有指定名称,没有指定字段怎么一条语句创建多条数据?
ANS:
insert into students3 values(null, 'RR', 12, 6.2),(null, 'AA', 12, 6.2)
注意:
一条语句比多条少些一些代码,多条语句会让后端执行多次,一条语句的效率高些。
2.3 修改
格式: update 表名 set 列1=值1, 列2 = 值2.. .. where 条件
格式: 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
- 写条件,更新指定数据
可写id = 5 或 name = ‘TLL’
update students3 set age = 60 where id = 5
- 修改多字段
update students3 set name = 'APPLE', age = 30, heighe = 5.99 where id = 6
- 后面修改条件很重要
2.4 删除
2.4.1 删除(不轻易使用)
格式:delete from 表名 where条件
格式:delete from 表名 where条件
類例:删除id为6的学生数据
delete from students where id=6
- 若不写条件,会将所有数据进行删除
delete from students3
- 删除有条件,就删除符合条件的数据
-- 格式:delete from 表名 where条件 delete from students3 where id = 2
注意: id越变越大,用过的将不会重新使用
2.4.2 逻辑删除
逻辑删除︰对于重要的数据,不能轻易执行delete语句进行删除,一旦删除,数据无法恢复,这时可以进行逻辑删除。
- 给表添加字段,名字叫做isdelete ,int类型。代表数据是否删除:0代表未删除,1代表删除,默认值为0
- 把表中所有数据isdelete字段改为0.
- 当想要删除某条数据时,使用update语句 只需要把某条数据的isdelete字段为1,设置这条数据的isdelete字段为1
update students3 set isdelete = 1 where id = 1
- 在查询数据时,只查询出isdelete为0 的数据
select * from students3 where isdelete = 0
- 把表中所有数据isdelete字段改为0.
-- isdelete = 0 代表数据未被删除 update students3 set isdelete = 0
- isdelete = 1 代表数据被删
update students3 set isdelete = 1 where id = 1
- 查询时,仅将isdelete = 0 的数据查找
select * from students3 where isdelete = 0
類例:
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 的字段代表逻辑删除



