DDL语句DQL语句

news2024/11/24 13:40:14

SQL学习笔记

DDL语句--操作数据表

 

/*
    快捷键:
        insert键              在插入 和 替换模式之间切换
        ctrl + 字母z          撤销上一步操作
        tab                  往后缩进(默认4个空格)
        shift + tab          往前缩进(默认4个空格)
        ctrl + alt + 字母L    格式化(对其)代码
*/
# 场景3: DDL操作 数据表
# 1. 创建day02数据库
create database day02;
# 2. 切换到day02数据库.
use day02;
# 3. 查询指定数据库下, 所有的数据表.
show tables;

# 扩展:
#   计算机存储数据(编码): '中' => 十进制的整数, 例如: 55653 => 转成二进制, 例如: 0b00110110 => 存储到计算机中.
#   计算机读取数据(解码): 读取二进制 => 转成十进制 => 找到对应的字符 => 显示
#   问题: '中' 这个字符 应该对应哪个数字呢? 码表说了算, 即: 码表就是维护 字符 和 数字之间的关系的.
#   结论: GBK主要针对于国内, UTF-8是国际通用码表, 也叫万国码.

# 4. 查看指定表的信息.
# 4.1 查看数据表的码表等信息(没什么用, 了解)
show create table student;

# 4.2 查看具体表的信息.
desc student;       -- 查看表结构信息.


# 5. 创建数据表.
/*
    格式:
        create table 表名 (
            字段名1 数据类型 [约束],
            字段名2 数据类型 [约束],
            字段名3 数据类型 [约束]
        );
    格式解释:
        字段名:  方便我们快速查找某列数据的, 一般要做到: 见名知意.
        数据类型: 标记着这一列能放什么形式的数据, 例如: 整数, 小数, 时间格式, 字符串等等...
            常用的数据类型(目前先了解, 稍后解释):
                整数: int,
                字符串: varchar(长度), 长度的意思是, 这里可以存多少个字符.      '张', '三', '0'等都是1个字符,  '张三' 就是字符串.
        约束:    这里的[]表示可选项, 它(约束)是基于数据类型之外, 加强的规范和规则.
*/
# 需求: 创建学生表, 字段有: 学生编号, 姓名, 性别, 详细信息(describe)
create table if not exists student
(
    id     int not null, # 字段名:id, 整数类型, 约束: 非空约束
    name   varchar(20),  # 字段名: name, 字符串类型, 无约束.
    gender varchar(10),   # 字段名: gender, 字符串类型, 无约束
    `desc` varchar(20)      # 细节: 如果非得要用关键字做字段名, 记得用``包裹该词, 这样它就是1个普通的字符串了.
);

# 6. 修改数据表,  即: 修改表名, 格式为: rename table 旧表名 to 新表名;
rename table student to stu;

# 7. 删除数据表. 格式: drop table 数据表名;
drop table stu;

数据类型和约束介绍

  • 数据类型

    用来限定该列值的类型的, 即: 能存什么样的数据, 不能存什么样的数据.

    常用的数据类型有:

    • 整数: int

    • 字符串: varchar(长度)

    • 日期: datetime

    • 枚举: enum

  • 约束

    就是在数据类型的基础上, 额外增加的规则.

    常用的约束:

    • 单表约束

      • 主键约束: primary key, 默认: 非空, 唯一. 一般要结合自增(auto_increment)一起使用.

      • 非空约束: not null

      • 唯一约束: unique

      • 默认约束: default

    • 多表约束

      • 外键约束

        • foreign key, 有外键列的表叫: 外表, 有主键列的表叫主表.

        • 特点: 外表的外键列不能出现主表的主键列没有的数据.

  • 结论

    数据类型和约束保证了表中数据的准确性和完整性.

DDL语句--操作字段

# ------------------------------------------- 以下内容是DDL操作 字段 -------------------------------------------
# 场景3: DDL操作 字段
# 1. 查看(某表的)所有的字段信息.
desc student;

# 2. 添加列. 添加地址列, address varchar(30) 非空约束
# 格式: alter table 表名 add 字段名 数据类型 [约束];
alter table student add address varchar(30) not null;

# 3. 修改列.
# 3.1 修改address列的 数据类型为 int
# 格式: alter table 表名 modify 字段名 数据类型 [约束];
alter table student modify address int;     -- 细节: 因为没写非空约束, 所以约束没了.

# 3.2 修改address列的名字为 addr, 类型为 date, 非空约束.
# 格式: alter table 表名 change 旧字段名 新的字段名 数据类型 [约束];
alter table student change address addr date not null;

# 4. 删除列.
# 格式: alter table 表名 drop 字段名;
alter table student drop addr;      -- 删除addr列
alter table student drop `desc`;      -- 删除desc列

# 简化记忆格式:
# alter table 表名 add/modify/change/drop 字段名 [新的字段名] 数据类型 约束;

DML--操作表数据

# DML语句, 主要是对表数据进行更新操作的, 更新操作 = 增, 删, 改.
# 快捷键: alt + shift + ↑/↓    代码的上下移动
# 快捷键: shift + 回车          快速向下插入一行
# ----------------------------------以下是DML语句之 添加表数据 ----------------------------------
# 1. 切库.
use day02;
# 2. 查看数据表.
show tables;
# 3. 查询表数据, 这个先了解, 稍后详解.
# 格式: select * from 表名;
select * from student;      # 查询表中所有的数据.

# 查看学生表的字段信息.
desc student;

# 4. 添加表数据, 方式1: 不指定字段, 添加一条.
# 格式: insert into 表名 value(值1, 值2, 值3...);      要求: 因为没有指定字段, 默认是全列名, 所以必须给每一列值赋值.
# 细节1: 值的个数 和 类型, 必须和 列的 个数和类型保持一致.
# 细节2: 数字可以直接写, 其它类型用引号包裹, 单双引号均可, 建议: 单引号.
insert into student value(1, '乔峰', '男');

# 5. 添加表数据, 方式2: 指定字段, 添加一条.
# 格式: insert into 表名(列名1, 列名2...) value(值1, 值2...);
insert into student(id, gender) value(2, '女');

-- 报错, 因为id列我们设置了非空约束, 因为只写了gender列, 所以只会给该列添加值, 其它的列会默认用null填充.
insert into student(id, gender) value(null, '女');     # 报错.

# 6. 添加表数据, 方式3: 不指定字段, 添加多条.
# 格式: insert into 表名 value(值1, 值2, 值3...), (值1, 值2, 值3...), (值1, 值2, 值3...);
insert into student value(1, '虚竹', '男'), (3, '段誉', '男');

# 7. 添加表数据, 方式4: 指定字段, 添加多条.
# 格式: insert into 表名(列名1, 列名2...) value(值1, 值2...), (值1, 值2...), (值1, 值2...);
insert into student(id, gender) values(4, '保密'), (5, '萨瓦迪卡');

总结(细节)

  1. 如果不指定字段, 则默认是全列名.

  2. 无论是否指定字段, value后边写的值的个数和类型, 必须和字段的个数和类型保持一致

一定一定要写where条件, 否则是修改所有.

# ---------------------以下是DML语句之 修改表数据 ----------------------
# 非常非常非常重要的内容, 一个老屌丝的含泪忠告, 当你在进行删除或者修改操作的时候, 一定一定一定要加where条件.
# 格式: update 表名 set 列名1=值1, 列名2=值2 where 条件;
# 需求: 修改id为2的数据, 姓名为: 许文杰, 男
update student set name='许文杰', gender='男' where id=2;

# 这个动作看看就行了, 很危险, 别碰.   因为没有写where, 会一次性修改表中所有的数据.
update student set name='许文杰', gender='男';

select * from student;

一定一定要写where条件, 否则是删除所有.

# ---------------------以下是DML语句之 删除表数据 ------------------------------
# 格式: delete from 表名 where 条件;
# 细节: 不能值删除某个字段的值, 是以 行为单位进行删除的.
delete from student where id=1;     # 删除id=1的数据.
delete from student where id>=3;     # 删除id 大于3的数据.

# 这个动作看看就行了, 很危险, 别碰.   因为没有写where, 会一次性修改表中所有的数据.
delete from student;

SQL约束--增强

主键约束

/*
    约束:
        概述/作用:
            是基于数据类型之上, 对某列的数据做要求的, 保证数据的完整性和安全性.
        分类:
            单表约束:
                主键约束    primary key
                    特点:
                        非空, 唯一, 一张表中, 主键列最多只能有1列.
                        一般要结合 自增(自动增长, auto_increment)一起使用.
                非空约束
                    not null
                唯一约束
                    unique
                默认约束
                    default
            多表约束:
                主外键约束,  foreign key
*/
# 1. 创建员工表 employee, 字段: 员工id(主键), 姓名, 性别, 工资, 部门
# 为了防止建表的时候, 建错库, 要么记得use 切库, 要么写: 数据库名.数据表名
create table if not exists day02.employee(
    id int primary key ,        # 员工id(主键)
    name varchar(20),           # 姓名
    gender varchar(10),         # 性别
    salary decimal(5, 3),       # 工资
    dept varchar(10)            # 部门
);

# 2. 设置id列为主键列.
# 2.1 方式1: 创建表的时候, 直接设置主键.
# 参考上述代码.

# 2.2 方式2: 创建表之后, 设置主键.
# 格式: alter table 表名 add primary key(主键列);
alter table day02.employee add primary key(id);
alter table day02.employee add primary key(name);       # 报错, 一张表主键只能有1个.

# 3. 往员工表中添加表数据.
insert into employee value(1, '乔峰', '男', 66.123, '丐帮');
# insert into employee value(1, '洪七公', '男', 33.33, '丐帮');     # 报错, 主键必须唯一.
# insert into employee value(null, '洪七公', '男', 33.33, '丐帮');    # 报错, 主键不能为空.
insert into employee value(2, '洪七公', '男', 33.33, '丐帮');
insert into employee value(4, '黄蓉', '女', 55.33, '丐帮');

# 4. 查询结果.
select * from day02.employee;

# 5. 查看表结构.
desc day02.employee;

-- 6. 删除主键.
alter table day02.employee drop primary key ;
alter table day02.employee modify id int;

-- 7. 实际开发中, 主键约束一般要结合自动增长(auto_increment)一起使用, 因为主键仅仅是1个标记, 标记着这条数据的唯一性, 不参与业务.
drop table day02.employee;

create table if not exists day02.employee(
    id int primary key auto_increment,        # 员工id(主键)
    name varchar(20),           # 姓名
    gender varchar(10),         # 性别
    salary decimal(5, 3),       # 工资
    dept varchar(10)            # 部门
);

# 查询表数据
select * from day02.employee;

# 有了自增后, 主键添加数据的方式如下, 只要传入null即可, 至于具体的数字是谁, 程序(计算机)会自动生成.
insert into employee value(1, '乔峰', '男', 66.123, '丐帮');
insert into employee value(null, '洪七公', '男', 33.33, '丐帮');    # 不报错, 有自增, 主键会自动生成.

insert into employee value(1, '洪七公', '男', 33.33, '丐帮');     # 报错, 主键必须唯一.

# 细节: 此时删除了id 为 5的数据, 之后再填加数据, 主键从几开始.
delete from day02.employee where id = 5;

# 扩展: delete from 和 truncate table 之间的区别是什么?
# delete from 会清除表数据, 不会重置主键id. 属于DML语句, 一般可以结合事务一起使用.
delete from day02.employee;

# truncate table 会清除表数据, 会重置主键id, 相当于把表摧毁了, 然后创建一张和该表一模一样的表. 属于DDL语句.
truncate table day02.employee;      -- 这个table可以省略.

 约束总结

   

/*
    约束:
        概述/作用:
            是基于数据类型之上, 对某列的数据做要求的, 保证数据的完整性和安全性.
        分类:
            单表约束:
                主键约束    primary key
                    特点:
                        非空, 唯一, 一张表中, 主键列最多只能有1列.
                        一般要结合 自增(自动增长, auto_increment)一起使用.
                非空约束
                    not null
                唯一约束
                    unique
                默认约束
                    default
            多表约束:
                主外键约束,  foreign key
*/
# 1. 创建员工表 employee, 字段: 员工id(主键), 姓名, 性别, 工资, 部门
# 为了防止建表的时候, 建错库, 要么记得use 切库, 要么写: 数据库名.数据表名
create table if not exists day02.employee(
    id int primary key ,        # 员工id(主键)
    name varchar(20),           # 姓名
    gender varchar(10),         # 性别
    salary decimal(5, 3),       # 工资
    dept varchar(10)            # 部门
);

# 2. 设置id列为主键列.
# 2.1 方式1: 创建表的时候, 直接设置主键.
# 参考上述代码.

# 2.2 方式2: 创建表之后, 设置主键.
# 格式: alter table 表名 add primary key(主键列);
alter table day02.employee add primary key(id);
alter table day02.employee add primary key(name);       # 报错, 一张表主键只能有1个.

# 3. 往员工表中添加表数据.
insert into employee value(1, '乔峰', '男', 66.123, '丐帮');
# insert into employee value(1, '洪七公', '男', 33.33, '丐帮');     # 报错, 主键必须唯一.
# insert into employee value(null, '洪七公', '男', 33.33, '丐帮');    # 报错, 主键不能为空.
insert into employee value(2, '洪七公', '男', 33.33, '丐帮');
insert into employee value(4, '黄蓉', '女', 55.33, '丐帮');

# 4. 查询结果.
select * from day02.employee;

# 5. 查看表结构.
desc day02.employee;

-- 6. 删除主键.
alter table day02.employee drop primary key ;
alter table day02.employee modify id int;

-- 7. 实际开发中, 主键约束一般要结合自动增长(auto_increment)一起使用, 因为主键仅仅是1个标记, 标记着这条数据的唯一性, 不参与业务.
drop table day02.employee;

create table if not exists day02.employee(
    id int primary key auto_increment,        # 员工id(主键)
    name varchar(20),           # 姓名
    gender varchar(10),         # 性别
    salary decimal(5, 3),       # 工资
    dept varchar(10)            # 部门
);

# 查询表数据
select * from day02.employee;

# 有了自增后, 主键添加数据的方式如下, 只要传入null即可, 至于具体的数字是谁, 程序(计算机)会自动生成.
insert into employee value(1, '乔峰', '男', 66.123, '丐帮');
insert into employee value(null, '洪七公', '男', 33.33, '丐帮');    # 不报错, 有自增, 主键会自动生成.

insert into employee value(1, '洪七公', '男', 33.33, '丐帮');     # 报错, 主键必须唯一.

# 细节: 此时删除了id 为 5的数据, 之后再填加数据, 主键从几开始.
delete from day02.employee where id = 5;

# 扩展: delete from 和 truncate table 之间的区别是什么?
# delete from 会清除表数据, 不会重置主键id. 属于DML语句, 一般可以结合事务一起使用.
delete from day02.employee;

# truncate table 会清除表数据, 会重置主键id, 相当于把表摧毁了, 然后创建一张和该表一模一样的表. 属于DDL语句.
truncate table day02.employee;      -- 这个table可以省略.

# ----------------------------------------- 单表约束总结 -----------------------------------------
# 创建英雄表hero, 字段: id, 姓名, 技能, hp血量, mp蓝量
create table hero(
    id int primary key auto_increment,      # 主键, 自增
    name varchar(20) unique ,               # 姓名, 唯一约束
    skill varchar(20) not null unique,      # 技能, 伪主键(即: 非空 + 唯一)
    hp int default 100,                     # 血量, 默认是100
    mp int default 10                       # 蓝量, 默认是10
);

# 添加数据.
insert into hero(id, name, skill) value(null, '典韦', '疯魔');      # 测试 默认约束.
insert into hero value(null, '典韦', '吸血', 6666, 20);             # 报错, 姓名要求唯一.
insert into hero value(null, '典韦2', '疯魔', 6666, 20);            # 报错, 技能要求唯一.
insert into hero value(null, '典韦2', null, 6666, 20);             # 报错, 技能要求不能为空.

insert into hero value(null, '吕布', '天魔乱舞', 10000, 0);

# 查询表数据.
select * from hero;

DQL语句

简单查询

# DQL语句主要是针对于 表数据 进行查询操作的.
# 0. 准备数据, 即, 直接执行如下的内容即可, 这样就有表以及数据了.
use day02;
# 创建表
CREATE TABLE product        # 商品表
(
    pid         INT PRIMARY KEY,        # 商品id, 主键.
    pname       VARCHAR(20),            # 商品名
    price       DOUBLE,                 # 价格, 小数
    category_id VARCHAR(32)             # 商品所属的类别id
);
# 插入记录
INSERT INTO product(pid,pname,price,category_id) VALUES(1,'联想',5000,'c001');
INSERT INTO product(pid,pname,price,category_id) VALUES(2,'海尔',3000,'c001');
INSERT INTO product(pid,pname,price,category_id) VALUES(3,'雷神',5000,'c001');
INSERT INTO product(pid,pname,price,category_id) VALUES(4,'杰克琼斯',800,'c002');
INSERT INTO product(pid,pname,price,category_id) VALUES(5,'真维斯',200,'c002');
INSERT INTO product(pid,pname,price,category_id) VALUES(6,'花花公子',440,null);
INSERT INTO product(pid,pname,price,category_id) VALUES(7,'劲霸',2000,'c002');
INSERT INTO product(pid,pname,price,category_id) VALUES(8,'香奈儿',800,'c003');
INSERT INTO product(pid,pname,price,category_id) VALUES(9,'相宜本草',200,'c003');
INSERT INTO product(pid,pname,price,category_id) VALUES(10,'面霸',5,'c003');
INSERT INTO product(pid,pname,price,category_id) VALUES(11,'好想你枣',56,'c004');
INSERT INTO product(pid,pname,price,category_id) VALUES(12,'香飘飘奶茶',1,'c005');
INSERT INTO product(pid,pname,price,category_id) VALUES(13,'海澜之家',1,'c002');
# ---------------------------------------- 以下是具体的查询动作 简单查询 ----------------------------------------
# 1. 查询数据表中所有的数据, 格式: select * from 表名;
select pid, pname, price, category_id from product;     # 查询所有的列
select * from product;      # 如果查询的是所有的列, 则: 可以用*替代所有的列名.
# 2. 获取所有商品的名称和价格
select pname,price from product;
# 3. 获取所有商品的名称和电商价(电商价 = 价格 + 10), 数值列可以直接运算.
select pname,price + 10 from product;
# 4. 给列起别名, 注意: 别名只是为了查询方便做的, 表中真实的列名并没有被修改.
# 格式: as 别名,  且 as 可以省略不写.
select pname as '商品名称',price + 10 as '我是修改后的价格' from product;
select pname '商品名称',price + 10  '我是修改后的价格' from product;        --  as 可以省略不写

条件查询

# ---------------------------------------- 以下是具体的查询动作 条件查询 ----------------------------------------
/*
    DQL中的条件查询指的是 where条件, 即: 写了where之后, 只会筛选出我们要的数据.

    格式:
        select * from 表名 where 条件;

    where后边可以写:
        1. 比较运算符
        2. 逻辑运算符
        3. 模糊查询
        4. 范围查询
        5. 空判断
 */
# 需求0: 查询所有.
select * from product;

# 需求1. 比较运算符, 查询id是偶数的数据.
# 比较运算符: >, >=, <, <=, =, !=
select * from product where pid % 2 = 0;

# 查询id不为3的数据.
select * from product where pid != 3;

# 需求2. 逻辑运算符
# and(逻辑与, 并且的意思, 要求条件都要满足), or(逻辑或, 或者的意思, 只要满足任意1个条件即可), not(取反的意思),  这三个运算符都要和 真(true), 假(false) 一起使用.
# 查询售价在 1000以上 且 分配id是c001的商品.
select * from product where price > 1000 and category_id = 'c001';

# 查询分类id是c001 或者 c003的商品信息.
select * from product where category_id = 'c001' or category_id = 'c003';

# 需求3. 模糊查询, 格式: like '内容',  _ 表示1个占位符,  %表示多个占位符
# 查找以 香开头的商品名.
select * from product where pname like '香_';    # _表示1个占位符, 所以这里只能匹配 香后边跟1个字的.
select * from product where pname like '香%';    # %表示多个占位符, 所以这里是 以香开头, 后边是啥无所谓.
select * from product where pname like '%香%';   # 只要包含香字即可.
select * from product where pname like '%霸';   # 以 霸 结尾的.

# 需求4. 范围查询, between ... and ...
# 固定区间: 查找价格区间在 200 ~ 5000之间的商品信息.
select * from product where price >= 200 and price <= 5000;     # 比较运算符.
select * from product where price between 200 and 5000;         # 范围查询, 包左也包右.

# 不固定区间, 查找pid为3, 5, 6的数据.
select * from product where pid = 3 or pid = 5 or pid = 6;      # 比较运算符.
select * from product where pid in (3, 5, 6);                   # 范围查询.
select * from product where pid not in (3, 5, 6);               # 范围查询.


# 需求5. 空判断, is null,  is not null
# 查找 分类id 为null的数据.
select * from product where category_id is null;

# 查找 分类id 不为null的数据.
select * from product where category_id is not null;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/535130.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于Java+SpringBoot+Vue学生信息管理设计和实现

博主介绍&#xff1a;✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专…

重磅发布:《AI产品经理的实操手册(2023版)》

今天是咱们社群“AI产品经理大本营”六周年活动的最后一天&#xff0c;正式发布这份大家和我都非常期待的重磅干货——《AI产品经理的实操手册&#xff08;2023版&#xff09;》 上周发布的“AI季度资料包&#xff08;2023Q2&#xff09;”&#xff0c;适合对AI初步感兴趣的产品…

《统计学习方法》——隐马尔可夫模型(中)

概率计算算法 直接计算法 给定模型 λ ( A , B , π ) \lambda(A,B,\pi) λ(A,B,π)和观测序列 O ( o 1 , o 2 , ⋯ , o T ) O(o_1,o_2,\cdots,o_T) O(o1​,o2​,⋯,oT​)&#xff0c;计算观测序列 O O O出现的概率 P ( O ∣ λ ) P(O|\lambda) P(O∣λ)。最直接的方法就是…

『python爬虫』23. selenium之窗口切换与iframe(保姆级图文)

目录 1. 窗口切换2. 抓取拉勾网职务信息2.1 拉勾网查看职务详情与价格2.2 完整代码 3. iframe的处理总结 欢迎关注 『python爬虫』 专栏&#xff0c;持续更新中 欢迎关注 『python爬虫』 专栏&#xff0c;持续更新中 1. 窗口切换 窗口句柄的定义&#xff1a;WebDriver对象有wi…

肝一肝设计模式【八】-- 外观模式

系列文章目录 肝一肝设计模式【一】-- 单例模式 传送门 肝一肝设计模式【二】-- 工厂模式 传送门 肝一肝设计模式【三】-- 原型模式 传送门 肝一肝设计模式【四】-- 建造者模式 传送门 肝一肝设计模式【五】-- 适配器模式 传送门 肝一肝设计模式【六】-- 装饰器模式 传送门 肝…

Windows本地快速搭建SFTP文件服务器,并端口映射实现公网远程访问

文章目录 1. 搭建SFTP服务器1.1 下载 freesshd服务器软件1.3 启动SFTP服务1.4 添加用户1.5 保存所有配置 2 安装SFTP客户端FileZilla测试2.1 配置一个本地SFTP站点2.2 内网连接测试成功 3 使用cpolar内网穿透3.1 创建SFTP隧道3.2 查看在线隧道列表 4. 使用SFTP客户端&#xff0…

ChatGPT 和 Elasticsearch:使用 ChatGPT 处理 Elastic 数据的插件

作者&#xff1a;Baha Azarmi 你可能已经阅读过这篇关于我们将 Elasticsearch 的相关性功能与 OpenAI 问答功能相结合的博文。 该帖子的主要思想是说明如何将 Elastic 与 OpenAI 的 GPT 模型结合使用来构建响应并向用户返回上下文相关的内容。 我们构建的应用程序可以公开一个…

好久不见,甚是想念

大家好&#xff0c;我是程序员小哈。 一晃停更好久了&#xff0c;之前因为12月份阳了&#xff0c;身体一直感觉没有完全恢复&#xff0c;就一直偷懒了&#xff0c;外加单位的事情比较多&#xff0c;实在是分身乏术&#xff0c;最近总算是告一段落了&#xff0c;咱们的知识分享…

shell脚本——流编辑器“三剑客”之sed命令

shell脚本——流编辑器“三剑客”之sed命令 一、流编辑器“三剑客”二、sed编辑器1、sed的工作流程2、命令格式3、常用选项4、常用操作5、打印内容6、使用地址7、删除行8、替换9、插入 一、流编辑器“三剑客” sed awk grep 二、sed编辑器 sed是一种流编辑器&#xff0c;流编…

手把手项目实战,搞完,直接写在简历上!

大家好&#xff0c;我是田哥 很多没有项目经验&#xff0c;或者没有亮点项目的朋友可以看过来。 最近田哥在搞一个项目&#xff1a;充电桩项目。本文给大家介绍这个项目背景、部分原型图、核心功能、核心模块、技术栈等。 项目背景介绍 随着我国汽车行业的不断发展&#xff0c…

AI绘画-Midjourney基础1-基本操作

Midjourney是一款 AI 绘画工具&#xff0c;可以根据你的提示&#xff08;本文中称为 prompt&#xff09;创作出各种图像。你只需要在Discord上和一个机器人聊天&#xff0c;就可以用简单的命令来控制它。目前已不支持免费试用&#xff0c;可以选择付费计划来获得更多功能和优势…

Ae 效果详解:Roto 笔刷和调整边缘

使用 Roto 笔刷工具或调整边缘工具之后&#xff0c;Ae 会向图层应用“Roto 笔刷和调整边缘” Roto Brush & Refine Edge效果。 版本 Version 目前包括 1.0&#xff08;经典&#xff09;1.0 Classic和 2.0 两个版本。 品质 Quality 选择围绕边缘的细节质量。 --标准 Stan…

传输时延和传播时延(补充:频段,信道带宽,数据速率的区别,以及帧大小和帧长)

先来看例题&#xff0c;看是否能区分 例题1&#xff1a; 假设生产管理网络系统采用B/S工作方式&#xff0c;经常上网的用户数为150个&#xff0c;每用户每分钟产生8个事务处理任务&#xff0c;平均事务章大小为0.05MB&#xff0c;则这个系统需要的信息传输速率为(68)。 (68)A…

Node接入ChatGPT 的最强对手Claude

由于个人的chatGPT免费版本即将到期, Claude 很火&#xff0c;在网上被说成是 ChatGPT 的最强对手&#xff0c;是 ChatGPT 的替代品。本文我将介绍下 Claude 是什么&#xff0c;以及如何免费使用 Claude. 什么是Claude 看一下它是如何自我介绍的 Slack Slack 是一款流行的团…

在 Transformers 中使用对比搜索生成可媲美人类水平的文本

1. 引言 自然语言生成 (即文本生成) 是自然语言处理 (NLP) 的核心任务之一。本文将介绍神经网络文本生成领域当前最先进的解码方法 对比搜索 (Contrastive Search)。提出该方法的论文 “A Contrastive Framework for Neural Text Generation” 最初发表于 NeurIPS 2022 ([论文]…

目标检测创新:一种基于区域的半监督方法,部分标签即可(附原论文下载)...

关注并星标 从此不迷路 计算机视觉研究院 公众号ID&#xff5c;ComputerVisionGzq 学习群&#xff5c;扫码在主页获取加入方式 论文地址&#xff1a;https://arxiv.org/pdf/2201.04620v1.pdf 计算机视觉研究院专栏 作者&#xff1a;Edison_G 研究表明&#xff0c;当训练数据缺少…

招募:AICG内容联合创作计划 | AIGC实践

AIGC&#xff08;AI Generated Content&#xff0c;人工智能自动生成内容&#xff09;必将成为小微创业团队进行低成本内容运营的最佳实践。 你同意这个观点吗&#xff1f; 如果我们恰好想法一致&#xff0c;或许可以一起搞点事情&#xff0c;探索一下商业场景下&#xff0c;应…

ChatGPT prompt指令大全

ChatGPT prompt指令大全 更多Prompt自动使用&#xff0c;可以在chrome插件中搜索 WebChatGPT&#xff0c;没有账号的&#xff0c;可以拉到文章最下面。 目录 担任雅思写作考官 写小说 充当 Linux 终端 充当英语翻译和改进者 充当论文润色者&#xff08;拿摘要部分举例&am…

企业实践 | 如何从VMWare ESXi Shell中挂载以及拷贝NTFS或者FAT32分区格式的USB闪存驱动器...

欢迎关注「WeiyiGeek」公众号 点击 &#x1f447; 下方卡片 即可关注我哟! 设为「星标⭐」每天带你 基础入门 到 进阶实践 再到 放弃学习&#xff01; 涉及 网络安全运维、应用开发、物联网IOT、学习路径 、个人感悟 等知识 “ 花开堪折直须折&#xff0c;莫待无花空折枝。 ”…

K_A39_004 基于STM32等单片机驱动AT24C02模块 串口+OLED0.96显示

K_A39_004 基于STM32等单片机驱动AT24C02模块 串口OLED0.96显示 所有资源导航一、资源说明二、基本参数参数引脚说明 三、驱动说明时序对应程序: 四、部分代码说明1、接线引脚定义1.1、STC89C52RCAT24C02模块1.2、STM32F103C8T6AT24C02模块 五、基础知识学习与相关资料下载六、…