山西农业大学20240902

一. 数据操作语言(DML) - 续

1. 删除数据 - DELETE

1.1 语法

DELETE FROM 表名
[WHERE 过滤条件]

注意: DELETE语句通常不会忽略WHERE子句, 否则是清空操作

# 删除person表中 '无名氏' 的数据
DELETE FROM person WHERE name='无名氏';
# 删除person表中年龄小于20岁的人
DELETE FROM person WHERE age<20;
# 清空操作
DELETE FROM person;

2. DML操作综合练习

# 综合练习
# 1.创建数据库 graduationpro(毕业设计)字符集UTF8并使用
CREATE DATABASE graduationpro CHARSET=UTF8;
USE graduationpro;
# 2.创建表js_cms_article(文章表),包括
#   `category_code` varchar(64)  COMMENT '栏目编码',
#   `module_type` varchar(50) COMMENT '模块类型',
#   `title` varchar(255) COMMENT '内容标题',
CREATE TABLE js_cms_article(
    category_code varchar(64)  COMMENT '栏目编码',
    module_type varchar(50) COMMENT '模块类型',
    title varchar(255) COMMENT '内容标题'
)CHARSET = UTF8;
SHOW TABLES ;
DESC js_cms_article_new;
# 3.修改表名称 js_cms_article_new
RENAME TABLE js_cms_article TO js_cms_article_new;
#  4.在category_code之前插入 id `id` INT COMMENT '编号',
#    在title之后插入`color` varchar(50) COMMENT '标题颜色',,
ALTER TABLE js_cms_article_new ADD id INT COMMENT '编号' FIRST ;
ALTER TABLE js_cms_article_new ADD color varchar(50) COMMENT '标题颜色' AFTER title;
# 5. 表中插入数据
#     1, '001','热点','立德树人','red'
#     2, '002','视野','全国各地','yellow'
#     3, '003','天下','印度尼西亚的苏门答腊象','blue'
INSERT INTO js_cms_article_new VALUES
(1, '001','热点','立德树人','red'),
(2, '002','视野','全国各地','yellow'),
(3, '003','天下','印度尼西亚的苏门答腊象','blue');
SELECT * FROM js_cms_article_new;
# 6. 修改 天下 的为 体育
UPDATE js_cms_article_new SET module_type='体育' WHERE module_type='天下';
# 7. 删除颜色为红色的数据
DELETE FROM js_cms_article_new WHERE color='red';
# 8. 删除表,删除库
DROP TABLE js_cms_article_new;
DROP DATABASE graduationpro;

SHOW DATABASES ;

二. 数据类型

1. 数值类型

1.1 整数类型
  • TINYINT‌:占用1字节(8位),存储范围从-128到127(有符号)或0到255(无符号)。
  • SMALLINT‌:占用2字节(16位),存储范围从-32768到32767(有符号)或0到65535(无符号)。
  • INT类型 : 占用4个字节, 保存范围 -21亿~ +21亿
  • BIGINT类型 : 占用8个字节, -9223372036854775808到9223372036854775807
1.2 浮点数类型
  • DOUBLE(M,N) — 123.45
    M是一个数字, 表示数字的总位数 – 5位
    N是一个数字, 表示小数位的位数 – 2位
    eg: DOUBLE(5,2) — 345.67/ 678.01…
    在这里插入图片描述
USE mydb;
SHOW TABLES;
CREATE TABLE student(
    id INT,
    name VARCHAR(32),
    grade DOUBLE(3,1)  #99.8; 88.6; 77.9
)CHARSET=UTF8;

# 如何插入浮点数
INSERT INTO student(id, name, grade) VALUES (1,'张三','99.8');
# 四舍五入 : 如果小数位的精度超过允许的精度时,会进行四舍五入
INSERT INTO student(id, name, grade) VALUES (2,'李四','99.86');
INSERT INTO student(id, name, grade) VALUES (3,'王五','99.81');
# 报错: 超出范围; 如果四舍五入的值超出该字段可以保存的最大值是会报错
INSERT INTO student(id, name, grade) VALUES (4,'老六','998.5');

INSERT INTO student(id, name, grade) VALUES (5,'李雷','99.9');
# 报错: 超出范围; 最大值: 99.9
INSERT INTO student(id, name, grade) VALUES (5,'李雷','99.99');

# DOUBLE(7,2) # 可以存储的最大值: 99999,99
SELECT * FROM student;

2. 字符类型

2.1 定长字符串(固定长度)

CHAR 类型是定长字符串

  • CHAR(m): m是一个数字, 表示长度, 单位是字符 , m最大可以取255
  • CHAR类型, 在磁盘中开辟的长度是固定的
  • 优点 : 在磁盘中保存每条记录长度都是固定的, 因此读取速度快
  • 缺点 : 在磁盘中占用空间固定, 无论实际保存多少数据, 都要占据空间,因此可能造成空间的浪费
    eg:
    CHAR(5) : 开辟5个字符的内存空间
  • ABCDE ---- 5个字符
  • A -------------- 5个字符
2.2 变长字符串

VARCHAR类型是变长字符串

  • VARCHAR(m): m是一个数字, 表示字符串的长度
  • 实际占用磁盘空间按照实际保存数据而决定
  • 优点: 由于磁盘空间占用取决于实际保存的数据, 因此不造成磁盘空间的浪费
  • 缺点: 由于数据长度不一致, 会导致读取效率低
    eg:
    VARHAR(20) — 20个字符空间
  • A ---- 1个字符空间
  • ABCDE — 5个字符空间
USE mydb;
DROP TABLE student1;
CREATE TABLE student1(
    id INT,
    #name CHAR(3)
    #name VARCHAR(3)
    name VARCHAR(4)
)CHARSET=UTF8;
DESC student1;
INSERT INTO student1 VALUES (1,'赵丽颖');
# 报错, 数据超出设置长度 CHAR(3)
INSERT INTO student1 VALUES (2,'迪丽热巴');
INSERT INTO student1 VALUES (3,'杨幂');
SELECT * FROM student1;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值