当前位置: 首页 > news >正文

东莞建设教育网站奇迹网站架设视频

东莞建设教育网站,奇迹网站架设视频,网站建设免责声明,网站优化总结报告目录 引言: 一、表的操作 1.1 创建学生表 1.2 查看表结构 1.3 删除表 1.4 修改表名 1.5 添加字段 1.6 修改字段 1.7 删除字段 1.8 小结 二、CRUD 2.1 新增(Create)数据 2.2 查询(Retrieve)数据 2.3 修改&…

目录

引言:

一、表的操作

1.1 创建学生表

 1.2 查看表结构

1.3 删除表

1.4 修改表名

1.5 添加字段

1.6 修改字段

1.7 删除字段

1.8 小结

二、CRUD

2.1 新增(Create)数据

2.2 查询(Retrieve)数据

2.3 修改(Update)数据

2.4 删除(Delete)数据

2.5 小结


引言:

在数据库中,表(Table) 是最基础也最重要的数据结构。然而,许多开发者在初次接触MySQL时,往往只关注SQL查询的编写,却忽视了表操作的重要性。一个设计不当的表结构,可能导致数据冗余、查询性能低下,甚至引发数据一致性问题。

本文将带您深入MySQL表操作的每一个细节,从基础的DDL语句到高级的优化策略,助您构建出高效、稳定、易维护的数据表结构。


一、表的操作

想要操作数据库中的表时,需要先使用该数据库:(以数据库school为例)

use school;

 注释:在 SQL 中可以使用"--空格+描述"来表示注释说明


1.1 创建学生表

create table 表名(字段名 字段类型,字段名 字段类型,字段名 字段类型,字段名 字段类型
);-- 或者
create table 表名(字段名 字段类型,字段名 字段类型,字段名 字段类型,字段名 字段类型);

可以使用 comment 增加字段说明。示例:

create table student(id int,name varchar(20) comment '姓名',gender varchar(20) comment '性别',phone varchar(20) comment '电话'
);

常用数据类型: 

  • int:整型
  • decimal(M,D):浮点数类型
  • varchar(size):字符串类型
  • timestamp:日期类型

 1.2 查看表结构

desc 表名;


1.3 删除表

-- 删除student表
drop table student;-- 如果存在student表,则删除student表
drop table if exists student;

1.4 修改表名

alter table 表名 rename to 新表名;


1.5 添加字段

alter table 表名 add 字段名 字段类型 [约束];


1.6 修改字段

alter table 表名 change 旧字段名 新字段名 字段类型 [约束];


1.7 删除字段

alter table 表名 drop 字段名;

1.8 小结

-- 创建表
create table 表名(字段名 字段类型,字段名 字段类型,字段名 字段类型,字段名 字段类型);-- 查看库中的表
show tables;-- 查看表结构
desc 表名;-- 删除
drop table 表名;-- 修改表名
alter table 表名 rename to 新表名;-- 添加字段
alter table 表名 add 字段名 字段类型 [约束];-- 修改字段
alter table 表名 change 旧字段名 新字段名 字段类型 [约束];-- 删除字段
alter table 表名 drop 字段名;

二、CRUD

CRUD 即增加(Create)、查询(Retrieve)、更新(Update)、删除(Delete)

学习表的增删查改的前提是,我们得先有一张表才行。

-- 1.创建数据库school
create database school;-- 2.使用数据库
use school;-- 3.建表
create table student(id int,name varchar(20) comment '姓名',gender varchar(20) comment '性别',phone varchar(20) comment '电话'
);

2.1 新增(Create)数据

insert into 表名 [(列,列,列,列...)] values(值,值,值,值...);
-- 此处的值,要和列相匹配(列的个数和类型)
-- 带上[ ] 为指定列插入 不带为默认全列插入

单行数据 + 全列插入

insert into student values (1,'刘备','男','112233');
insert into student values (2,'关羽','男','123456');
insert into student values (3,'张飞','男','778833');

多行数据 + 指定列插入:

insert into student (id,name,gender) values(4,'吕布','男'),(5,'貂蝉','女'),(6,'赵云','男');

 


2.2 查询(Retrieve)数据

SELECT[DISTINCT] {* | {column [, column] ...} [FROM table_name][WHERE ...][ORDER BY column [ASC | DESC], ...]LIMIT ...

示例:

-- 创建考试表
CREATE TABLE exam_result (id INT,name VARCHAR(20),chinese DECIMAL(3,1),math DECIMAL(3,1),english DECIMAL(3,1)
);-- 插入测试数据
INSERT INTO exam_result (id,name, chinese, math, english) VALUES(1,'唐三藏', 67, 98, 56),(2,'孙悟空', 87.5, 78, 77),(3,'猪悟能', 88, 98.5, 90),(4,'曹孟德', 82, 84, 67),(5,'刘玄德', 55.5, 85, 45),(6,'孙权', 70, 73, 78.5),(7,'宋公明', 75, 65, 30);

全列查询

select * from 表名;-- 通常情况下不建议使用 * 进行全列查询
-- 1.查询的列越多,意味着要传输的数据量越大
-- 2.可能会影响索引的使用(索引会在后续提到)


 指定列查询

select 列名,列名,列名 from 表名;


查询字段为表达式

-- 查询所有同学的总分(语文 + 数学 + 英语)
select id,name,chinese + math + english from exam_result;


为查询结果中的列指定别名,表示返回的结果集中,以别名作为该列的名称:

select 列/表达式 as 别名 from 表名;


去重查询:DISTINCT

select distinct 列名 from 表名;

排序:ORDER BY

-- ASC 为升序(从小到大)
-- DESC 为降序(从大到小)
-- 默认为 ASC
SELECT ... FROM 表名 [WHERE ...] ORDER BY 列名 [ASC|DESC];

条件查询:WHERE

比较运算符:

运算符说明
>, >=, <, <=大于,大于等于,小于,小于等于
=等于,NULL 不安全,例如 NULL = NULL 的结果是 NULL
<=>等于,NULL 安全,例如 NULL <=> NULL 的结果是TRUE
!=, <>不等于
between a0 and a1范围匹配,[a0, a1],如果 a0 <= values <= a1,返回TRUE
in(a,b,c...)如果是a,b,c...其中的任意一个,返回TRUE
IS NULL是 NULL
IS NOT NULL不是 NULL
LIKE
模糊匹配。 % 表示任意多个(包括 0 个)任意字符; _ 表示任意一个字符

逻辑运算符:

运算符说明
AND与。多个条件必须都为 TRUE,结果才是 TRUE
OR或。任意一个条件为 TRUE, 结果为 TRUE
NOT非。条件为 TRUE,结果为 FALSE

注意:

  • WHERE条件可以使用表达式,但不能使用别名
  • AND 的优先级高于 OR ,在同时使用时,需要使用小括号 () 包裹优先执行的部分

2.3 修改(Update)数据

update 表名 set 列名 = 值 [WHERE ...];
-- 将所有同学的语文成绩更新为原来的 2 倍
UPDATE exam_result SET chinese = chinese * 2;-- 将孙悟空同学的数学成绩变更为 80 分
UPDATE exam_result SET math = 80 WHERE name = '孙悟空';-- 将曹孟德同学的数学成绩变更为 60 分,语文成绩变更为 70 分
UPDATE exam_result SET math = 60, chinese = 70 WHERE name = '曹孟德';


2.4 删除(Delete)数据

delete from 表名 [WHERE ...] [ORDER BY ...];
-- 删除孙悟空同学的考试成绩
DELETE FROM exam_result WHERE name = '孙悟空';

-- 删除整张表数据
-- 准备测试表
CREATE TABLE for_delete (id INT,name VARCHAR(20)
);
-- 插入测试数据
INSERT INTO for_delete (name) VALUES ('A'), ('B'), ('C');
-- 删除整表数据
DELETE FROM for_delete;


2.5 小结

  • 新增
    -- 单行插入
    insert into 表名 [(列,列,列,列...)] values(值,值,值,值...);-- 多行插入
    insert into 表名 (字段1, ... , 字段n) values(value1,...),(value2,...),(value3,...);
  • 查询
    -- 全列查询
    select * from 表-- 指定列查询
    select 字段1,字段2... from 表-- 查询表达式字段
    select 字段1 + 100,字段2 + 字段3 from 表-- 别名
    select 字段1 as 别名1, 字段2 as 别名2 from 表-- 去重DISTINCT
    select distinct 字段 from 表-- 排序ORDER BY
    select * from 表 order by 排序字段-- 条件查询WHERE:
    -- (1)比较运算符 (2)BETWEEN ... AND ... (3)IN (4)IS NULL (5)LIKE (6)AND (7)OR (8)NOT
    select * from 表 where 条件
  • 修改
    update 表 set 字段1 = value1, 字段2=value2 ... [where ...];
  • 删除
    delete from 表名 [WHERE ...] [ORDER BY ...];

 积跬步,以致千里

下章预告——> 约束

本专栏内容均以 MySQL 8.0 为案例

http://www.dtcms.com/a/455892.html

相关文章:

  • 桂林 网站建设专业的购物网站建设
  • 旅游网站建设风险分析全网推广
  • 企业网站策划方案模板杭州外贸网站建设公司价格
  • 世界网站排名查询海南建设局相关网站
  • 网站模版html企业信息管理系统包括
  • 南充做网站的公司个人或企业做网络贸易的主要网站
  • 北京永安市政建设投资有限公司网站aws的efs可以做网站的什么
  • 深圳网站建设 设计首选深圳市wordpress固定链接目录
  • 系统管理网站东莞常平镇
  • 谷歌云做网站服务器app界面设计案例
  • 营销网站制作哪家好做网站用php还是html
  • 山东机关建设网站老版wordpress怎么采集淘宝客
  • 改变关键词对网站的影响怎样做公司的网站首页
  • 三分钟短视频策划方案百度关键词排名优化工具
  • 建设信息网怎么进入泉州百度关键词优化
  • 优客逸家网站建设怎样做网站分析总结
  • 旅游网站首页设计大概图wordpress 制作安装包
  • 商城网站除了域名备案还要官方微信公众号
  • 免费二维码制作网站室内装修装饰设计培训班
  • 免费跨境电商网站建设银网站
  • 迈若网站建设公交公司网站建设的意义
  • 网站的网站维护的原因h5直播网站
  • 计算机网站开发背景淮安市网站
  • 网站建设绩效考核方案ppt手机视频网站建设
  • 做网站致富咨询手机网站建设平台
  • 网站开发费是无形资产吗最好的免费的黄页网站
  • 网站模板凡平台自己做的网站提示不安全
  • iis如何做同时运行两个网站80端口拿p5.js做的网站
  • 福州网站建设搭建网页制作三剑客是哪些
  • 网站建设维护面试网站登录按钮怎么做