MySQL数据库基本操作语言:SQL

SQL

概述

SQL是一 种用于操作数据库的语言,SQL适用于所有关系型数据库。

MySQL、Oracle、 SQLServer是一 一个数据库软件,这些数据库软件支持标准SQL,也就是通过SQL可以使用这些软件,不过每一个数据库系统会在标准SQL的基础 上扩展自己的SQL语法。

大部分的NoSQL数据库有自己的操作语言,对SQL支持的并不好。

SQL通用语法

1.SQL语句可以单行或多行书写,以分号结尾。

3.SQL 语句可以使用空格/缩进来增强语句的可读性。

4. MySQL数据库的SQL语句不区分大小写, 关键字建议使用大写。

5.注释:

        单行注释:-- 注释内容(用--注释注释内容要与--之间有一个空格)或 # 注释内容(MySQL特有)

        多行注释:/* 注释内容*/

SQL分类

分类全称说明
DDLData Definition Language数据定义语言,用来定义数据库对象(数据库,表,字段)
DMLData Manipulation Language数据操作语言,用来对数据库表中的数据进行增删改
DQLData Query Language数据查询语言,用来查询数据库中表的记录
DCLData Control Language数据控制语言,用来创建数据库用户、控制数据库的访问权限

DDL

数据库操作

功能SQL
查看所有的数据库show databases;
创建数据库create database [if not exists] mydb1 [charset=utf8]
切换(选择要操作的)数据库use mydb1;
删除数据库drop database [if exists] mydb1 ;
修改数据库编码alter database mydb1 character set utf8;

数据类型*

        MySQL中的数据类型有很多,主要分为三类:数值类型、字符串类型、日期时间类型。

        详细内容见文章末。

表操作

创建

        CREATE TABLE[IF NOT EXISTS]表名(

                字段1字段1类型[COMMENT字段1注释],

                字段2字段2类型[COMMENT字段2注释],

                字段3字段3类型[COMMENT字段3注释],

                ...

                字段n字段n类型[COMMENT字段n注释]

        )[ COMMENT表注释];

注意:[...]为可选参数,最后一个字段后面没有逗号

查询        

查询当前数据库所有表SHOW TABLES;
查询表结构DESC表名;
查询指定表的建表语句SHOW CREATE TABLE表名;

修改表结构

添加字段

ALTER TABLE表名ADD字段名类型(长度) [COMMENT注释] [约束];

alter table 表名 add 字段名类型(长度) [conmment注释] [约束];

修改字段名和字段类型ALTER TABLE表名CHANGE旧字段名新字段名类型(长度) [COMMENT注释] [约束];
修改数据类型ALTERTABLE表名MODIFY字段名新数据类型(长度);
修改表名

ALTER TABLE表名RENAME TO新表名;

RENAME TABLE 表名 TO 新表名;

删除字段ALTER TABLE表名DROP字段名;
删除表DROP TABLE[IF EXISTS] 表名;
删除指定表,并重新创建该表*TRUNCATE TABLE 表名;

 DML

简介

DML英文全称是Data Manipulation Language(数据操作语言),用来对数据库中表的数据记录进行增删改操作。

添加数据(INSERT)

修改数据(UPDATE)

删除数据(DELETE)

添加数据

给指定字段添加数据INSERT INTO表名(字段名1,字段名2, ...) VALUES (值1,值2, ...); 
给全部字段添加数据INSERT INTO表名VALUES (值1,值2, ...);
批量添加数据INSERT INTO表名(字段名1,字段名2, ... )VALUES (值1,值2, ...), (值1,值2, ... ),(值1,值2...);
INSERT INTO表名VALUES (值1,值2, ...) (值1,值2,... )(值1,值2,...);

注意:

  • 插入数据时,指定的字段顺序需要与值的顺序是一 一对应的。
  • 字符串和日期型数据应该包含在引号中。
  • 插入的数据大小,应该在字段的规定范围内。

修改数据

UPDATE表名SET字段名=值,字段名=值... ;
UPDATE表名SET字段名=值,字段名=值.. . WHERE条件;
UPDATE name SET name1 = 'j', name2 = 'k';
UPDATE name SET name1 = 'j', name2 = 'k' where othername = 1010;

删除数据

DELETE FROM 表名 [WHERE 条件] ; 
TRUNCATE TABLE 表名;
TRUNCATE 表名;

        注意:DELETE和TRUNCATE原理不同,DELETE之删除内容,而TRUNCATE类似于DROP TABLE,可以理解是将整个表删除,然后再创建该表。当DELETE后有WHERE时删除的是表中满足条件的一整排数据。

约束

简介

        约束(constraint):表中数据的约束条件。

        作用:表在设计的时候加入约束的目的就是为了保证表中的记录完整性和有效性,比如用户表有些列的值(手机号)不能为空,有些列的值(身份证号)不能重复。

        分类

主键约束(primary key) PK
自增长约束(auto_ jincrement)
非空约束(not null)
唯一性约束(unique)
默认约束(default)
零填充约束(zerofill)
外键约束(foreign key) FK

主键约束

概念

  • MySQL主键约束是一个列或者多个列的组合,其值能唯一地标识表中的每一行,方便在RDBMS中尽快的找到某一 行。
  • 主键约束相当于唯一约束 + 非空约束的组合,主键约束列不允许重复,也不允许出现空值。
  • 每个表最多只允许一个主键
  • 主键约束的关键字是: primary key
  • 当创建主键的约束时,系统默认会在所在的列和列组合上建立对应的唯一索引。

添加单列主键

        创建单列主键有两种方式,一种是在定义字段的同时指定主键,一种是定义完字段之后指定主键。

方式一

  • 在create table语句中,通过PRIMARY KEY关键字来指定主键。
  • 在定义字段的同时指定主键。

         eg:

CREAT TABLE teb(name VARCHAR PRIMARY KEY
);

方式二

  • 在定义字段之后再指定主键。

CREAT TABLE teb(name VARCHAR PRIMARY KEY,CONSTRAINT pk1 PRIMARY KEY(name)  -- constraint pk1可以省略
);

添加多列主键(联合主键)

        所谓的联合主键,就是这个主键是由一张表中多 个字段组成的。

注意:

  1. 当主键是由多个字段组成时,不能直接在字段名后面声明主键约束。
  2. 一张表只能有一个主键,联合主键也是一个主键。
  3. 联合主键的每一列都不能为空。
create table emp(name varchar(20),deptId int,salary double,constraint pk primary key(name, deptId)
);

通过修改表结构添加主键

        主键约束不仅可以在创建表的同时创建,也可以在修改表时添加。

        字段列表可以是一个列也可以是多个。

删除主键约束

        一个表中不需要主键约束时,就需要从表中将其删除。删除主键约束的方法要比创建主键约束容易的多。

自增长约束

概念

        在MySQL中,当主键定义为自增长后,这个主键的值就不再需要用户输入数据了,而由数据库系统根据定义自动赋值。每增加一条记录。主键会自动以相同的步长进行增长。

        通过给字段添加auto increment属性来实现主键自增长

特点

  1. 默认情况下,auto_increment的初始值是1,每新增一条记录,字段值自动加1
  2. 一个表中只能有一个字段使用auto_increment约束, 且该字段必须有唯一索引, 以避免序号重复(即为主键或主键的一部分)
  3. auto_increment约束的字段必须具备NOT NULL属性
  4. auto_increment约束的字段只能是整数类型(TINYINT、 SMALLINT、 INT、 BIGINT 等
  5. auto_increment约束字段的最大值受该字段的数据类型约束,如果达到上限,auto_increment就会失效。

指定自增字段初始值

        如果第一条记录设置了该字段的初始值,那么新增加的记录就从这个初始值开始自增。例如,如果表中插入的第一条记录的id值设置为5,那么再插入记录时,id 值就会从5开始往上增加

方式一:创建表时指定

 方式二:创建表后指定

delete和truncate在删除后自增列的变化

  • delete数据之后自动增长从断点开始
  • truncate数 据之后自动增长从默认起始值开始

非空约束

概念

        MySQL非空约束(not null)指字段的值不能为空。对于使用了非空约束的字段,如果用户在添加数据时没有指定值,数据库系统就会报错。

删除非空约束

唯一性约束

概念

        唯一约束(Unique Key)是指所有记录中字段的值不能重复出现。例如,为id字段加上唯一性约束后,每条记录的id值都是唯一的, 不能出现重复的情况。

        在MySQL中NULL和任何值都不相同,NULL与NULL之间也不相同。

删除唯一约束

        格式: alter table <表名> drop index <唯一约束名>;

默认约束

概念

        MySQL默认值约束用来指定某列的默认值。

删除默认约束

        alter table <表名> change column <字段名> <类型> default null;

零填充约束

概念

  • 插入数据时,当该字段的值的长度小于定义的长度时,会在该值的前面补上相应的0
  • zerofil默认为int(10)
  • 当使用zerofill时,默认会自动加unsigned (无符号)属性,使用unsigned属性后,数值范围是原值的2倍,例如,有符号为-128~+127,无符号为0~256.

删除

外键约束

DQL

概念

  • 数据库管理系统一个重要功能就是数据查询, 数据查询不应只是简单返回数据库中存储的数据,还应该根据需要对数据进行筛选以及确定数据以什么样的格式显示。
  • MySQL提供了功能强大、灵活的语句来实现这些操作。
  • MySQL数据库使用select语句来查询数据。

 语法格式

        *号代表所有的列

        起别名时加关键字as,as可以省略。使用时是 别名.列名(多表查询时有用)

        distinct是去掉重复值

        查询时可以对数据进行运算(不会修改表中的数据)

        书写顺序:select -> from -> where -> group by -> having -> order by -> limit

        执行顺序:from -> where -> group by -> having -> select -> order by -> limit

运算符*

        数据库中的表结构确立后,表中的数据代表的意义就已经确定。通过MySQL运算符进行运算,就可以获取到表结构以外的另一种数据。

        MySQL支持4种运算符:算术运算符、比较运算符、逻辑运算符、位运算符。

        详细内容键文章末。

排序查询

介绍

        如果我们需要对读取的数据进行排序,我们就可以使用MySQL的order by子句来设定你想按哪个字段哪种方式来进行排序,再返回搜索结果。

特点

  1. asc代表升序,desc代表降序,如果不写默认升序
  2. order by用于子句中可以支持单个字段,多个字段,表达式,函数,别名
  3. order by子句,放在查询语句的最后面。LIMIT子句除外

聚合查询

简介

        之前我们做的查询都是横向查询,它们都是根据条件一行一行的进行判断, 而使用聚合函数查询是纵向查询,它是对一列的值进行计算,然后返回一个单一的值; 另外聚合函数会忽略空值。

        select 函数 from ... ;

聚合函数作用
count()统计指定列不为NULL的记录行数;
sum()计算指定列的数值和,如果指定列类型不是数值类型,那么计算结果为0
max()计算指定列的最大值,如果指定列是字符串类型,那么使用字符串排序运算;
min()计算指定列的最小值,如果指定列是字符串类型,那么使用字符串排序运算;
avg()计算指定列的平均值,如果指定列类型不是数值类型,那么计算结果为0
ifnull(A,0)如果A为null就当做0处理

NULL值的处理

1、 count函数对null值的处理

        如果count函数的参数为星号(*) ,则统计所有记录的个数。而如果参数为某字段,不统计含null值的记录个数。

2、sum和avg函数对null值的处理

        这两个函数忽略null值的存在,就好象该条记录不存在一样。

3、max和min函数对null值的处理

        max和min两个函数同样忽略null值的存在。

分组查询

简介

        分组查询是指使用group by字句对查询信息进行分组。

        如果要进行分组的话,则SELECT子句之后,只能出现分组的字段和统计函数,其他的字段不能出现

分组之后的条件筛选

  • 分组之后对统计结果进行筛选的话必须使用having,不能使用where
  • where子句用来筛选FROM子句中指定的操作所产生的行
  • group by子句用来分组WHERE子句的输出。
  • having子句用来从分组的结果中筛选行

分页查询

简介

        分页查询(limit)在项目开发中常见,由于数据量很大,显示屏长度有限,因此对数据需要采取分页显示方式。例如数据共有30条,每页显示5条,第一页显示1-5条,第二页显示6-10条。

INSERT INTO SELECT语句

简介

        将一张表的数据导入到另一张表中,可以使用INSERT INTO SELECT语句

        要求目标表Table2必须存在

正则表达式

介绍

        正则表达式(regular expression)描述了一种字符串匹配的规则,正则表达式本身就是一个字符串, 使用这个字符串来描述、用来定义匹配规则,匹配一系列符合某个句法规则的字符串。在开发中,正则表达式通常被用来检索、替换那些符合某个规则的文本。

        MySQL通过REGEXP关键字支持正则表达式进行字符串匹配。

◆格式

模式描述
^匹配输入字符串的开始位置。
$匹配输入字符串的结束位置。
.匹配除"\n"之外的任何单个字符。
[...]字符集合。匹配所包含的任意-一个字符。例如,'[abc]' 可以匹配"plain"中的'a'。
[^...]负值字符集合。匹配未包含的任意字符。例如,'[^abc]' 可以匹配"plain"中的'p'。
p1 | p2 | p3匹配p1或p2或p3。例如,'z|food' 能匹配"z"或"food"。'(z|f)ood' 则匹配"zood" 或"food"。
*匹配前面的子表达式零次或多次。例如,zo* 能匹配"z"以及"zoo"。*等价于{0,}。
+匹配前面的子表达式一次或多次。例如,'zo+' 能匹配"zo"以及"zoo",但不能匹配"z"。+等
?匹配前面的子表达式零次或一次。
{n}n是一个非负整数。匹配确定的n次。例如,'o{2}'不能匹配"Bob"中的'o', 但是能匹配"food" 中的两个0。
{n,m}m和n均为非负整数,其中n<=m。最少匹配n次且最多匹配m次。

        匹配成功为1(true),否则为0(false)

DCL

介绍

        DCL英文全称是Data Control Language(数据控制语言),用来管理数据库用户、控制数据库的访问权限。

管理用户

        查询用户

        创建用户

        修改用户密码

        删除用户

 注意:

  • 主机名可以使用%通配。
  • 这类SQL开发人员操作的比较少,主要是DBA ( Database Administrator 数据库管理员)使用。

权限控制

        MySQL中定义了很多种权限,但是常用的就以下几种

权限说明
ALL, ALL PRIVILEGES所有权限
SELECT查询数据
INSERT插入数据
UPDATE修改数据
DELETE删除数据
ALTER修改表
DROP删除数据库/表/视图
CREATE创建数据库/表

        其他权限描述及含义,可以直接参考官方文档。

查询权限

授予权限

撤销权限

注意:

  • 多个权限之间,使用逗号分隔
  • 授权时,数据库名和表名可以使用*进行通配,代表所有

数据类型

数值类型

数值类型

类型大小有符号(SIGNED)范围无符号(UNSIGNED)范围描述
TINYINT1 byte(-128, 127)(0,255)小整数值
SMALLINT2 bytes(-32768, 32767)(0, 65535)大整数值
MEDIUMINT3 bytes(-8388608,8388607)(0, 16777215)大整数值
INT或INTEGER4 bytes(-2147483648, 2147483647)(0,4294967295)大整数值
BIGINT8 bytes (-2^63, 2^63-1)(0,2^64-1)极大整数值
FLOAT4 bytes(-3. 402823466 B+38,3. 402823466351 E+38)0和(1.175494351 E-38,3.402823466 E+38)单精度浮点数值
DOUBLE8 bytes(-1.7976931348623157 E+308, 1.7976931348623157 E+308)0 和(2.2250738585072014 E-308,1.7976931348623157 E+308)双精度浮点数值
DECIMAL依赖于M(精度)和D (标度)的值  (精度是指位数,标度是指小数位数)依赖于M(精度)和D (标度)的值小数值(精确定点数)

 字符串类型

字符串类型

类型大小描述
CHAR0-255 bytes定长字符串
VARCHAR0-65535 bytes变长字符串
TINYBLOB0-255 bytes不超过255个字符的二进制数据
TINYTEXT0-255 bytes短文本字符串
BLOB0-65 535 bytes二进制形式的长文本数据
TEXT0-65 535 bytes长文本数据
MEDIUMBLOB0-16777 215 bytes二进制形式的中等长度文本数据
MEDIUMTEXT0-16777 215 bytes中等长度文本数据
LONGBLOB0-4294 967 295 bytes二 进制形式的极大文本数据
LONGTEXT0-4294 967 295 bytes极大文本数据

 日期类型

日期类型

大小范围格式描述
31000-01-01至9999-12-31YYYY-MM-DD日期值
3-838:59:59 至838:59:59HH:MM:SS时间值或持续时间
11901至2155YYYY年份值
81000-01-01 00:00:00 至9999-12-31 23:59:59YYYY-MM-DD HH:MM:SS混合日期和时间值
41970-01-01 00:00:01 至2038-01-19 03:14:07YYYY-MM-DD HH:MM:SS混合日期和时间值,时间戳(与时区有关)

 运算符

算术运算符

算术运算符说明
+加法运算
-减法运算
*乘法运算
/ 或 DIV除法运算,返回商
% 或 MOD求余运算,返回余数

比较运算符

比较运算符说明
=等于
< 和<=小于和小于等于
> 和>=大于和大于等于
<=>安全的等于,两个操作码均为NULL时,其所得值为1;而当一个操作码为NULL时,其所得值为0
<>或!=不等于
IS NULL或ISNULL判断一一个值是否为NULL
IS NOT NULL判断一一个值是否不为NULL
LEAST当有两个或多个参数时,返回最小值(参数如果有null则返回null)
GREATEST当有两个或多个参数时,返回最大值(参数如果有null则返回null)
BETWEEN AND判断一个值是否落在两个值之间
IN判断一个值是IN列表中的任意一个值
NOT IN判断一个值不是IN列表中的任意一个值
LIKE通配符匹配
REGEXP正则表达式匹配

逻辑运算符

逻辑运算符说明
NOT 或者 !逻辑非
AND 或者 &&逻辑与
OR 或者 ||逻辑或
XOR逻辑异或

位运算符

位运算符说明
|按位或
&按位与
^按位异或
<<按位左移
>>按位右移
~按位取反,反转所有比特

位运算符是在二进制数上进行计算的运算符。位运算会先将操作数变成二进制数,进行位运算。然后再将计算结果从二进制数变回十进制数。

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

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

相关文章

污水处理厂可视化:让环保与科技共舞

随着科技的飞速发展&#xff0c;我们的生活环境变得越来越美好。然而&#xff0c;随着城市化进程的加快&#xff0c;污水处理问题也日益凸显。如何有效、高效地处理污水&#xff0c;成为了一个亟待解决的问题。而“污水处理厂可视化”技术的出现&#xff0c;为这个问题提供了一…

【Linux进阶之路】线程

文章目录 一、初始线程1.概念2.执行3.调度4.切换 二、线程控制1.创建2.等待3.分离4.退出5.取消 三、线程安全1.互斥1.1初始1.2理解1.3锁1.3.1概念1.3.2原理1.3.4死锁 2.同步2.1概念2.2原理 3.生产消费者模型 总结尾序 一、初始线程 1.概念 简单的概念&#xff1a; 线程就是一…

Linux环境安装Hadoop

&#xff08;1&#xff09;下载Hadoop安装包并上传 下载Hadoop安装包到本地&#xff0c;并导入到Linux服务器的/opt/software路径下 &#xff08;2&#xff09;解压安装包 解压安装文件并放到/opt/module下面 [roothadoop100 ~]$ cd /opt/software [roothadoop100 software…

opencv静态链接error LNK2019

opencv 3.1.0 静态库&#xff0c;包括以下文件 只链接opencv_world310d.lib&#xff0c;报错 opencv_world310d.lib(matrix.obj) : error LNK2019: 无法解析的外部符号 _ippicvsFlip_16u_I8&#xff0c;该符号在函数 "enum IppStatus (__stdcall*__cdecl cv::getFlipFu…

嵌入式中断理解

一、概念 中断&#xff1a; 在主程序运行过程中&#xff0c;出现了特定的中断触发条件&#xff08;中断源&#xff09;&#xff0c;使得CPU暂停当前正在运行的程序&#xff0c;转而去处理中断程序&#xff0c;处理完成后又返回原来被暂停的位置继续运行。 中断优先级&#x…

大型医院PACS系统源码,影像存储与传输系统源码,支持多种图像处理及三维重建功能

PACS系统是医院影像科室中应用的一种系统&#xff0c;主要用于获取、传输、存档和处理医学影像。它通过各种接口&#xff0c;如模拟、DICOM和网络&#xff0c;以数字化的方式将各种医学影像&#xff0c;如核磁共振、CT扫描、超声波等保存起来&#xff0c;并在需要时能够快速调取…

C++11特性:共享智能指针

在C中没有垃圾回收机制&#xff0c;必须自己释放分配的内存&#xff0c;否则就会造成内存泄露。解决这个问题最有效的方法是使用智能指针&#xff08;smart pointer&#xff09;。智能指针是存储指向动态分配&#xff08;堆&#xff09;对象指针的类&#xff0c;用于生存期的控…

机器学习 深度学习 神经网络

神经网络概念&#xff1a; 神经网络是一个由生物神经元组成的网络或电路&#xff0c;或者从现代意义上讲&#xff0c;是一个由人工神经元或节点组成的人工神经网络。因此&#xff0c;一个神经网络要么是由生物神经元组成的生物神经网络&#xff0c;要么是用于解决人工智能&…

35_36-Golang 中的 go mod 以及 Golang 包详解

**Golang **中的 **go mod **以及 **Golang **包详解 主讲教师&#xff1a;&#xff08;大地&#xff09; 合作网站&#xff1a;www.itying.com** **&#xff08;IT 营&#xff09; 我的专栏&#xff1a;https://www.itying.com/category-79-b0.html 一、Golang 中包的介绍和…

Ubuntu 常用命令之 chown 命令用法介绍

&#x1f4d1;Linux/Ubuntu 常用命令归类整理 chown 命令在 Ubuntu 系统中用于改变文件或目录的所有者和组。这个命令的基本格式是 chown [选项]... [所有者][:[组]] 文件...。 chown 命令的主要参数有 -c 或 --changes&#xff1a;类似 verbose&#xff0c;但只在发生改变时…

【产品经理】Axure原型工具教程

笔记为项目总结笔记&#xff0c;若有错误欢迎指出哟~ Axure原型工具教程 Axure简介原型图分类常用操作常用原件常用交互母版常用设备分辨率 Axure简介 Axure是一款专业的原型设计与交互设计软件&#xff0c;可以帮助用户快速创建高保真的原型和交互设计。Axure支持多种常见的交…

【案例】图片预览

效果图 如何让图片放大&#xff0c;大多数的UI组件都带有这种功能&#xff0c;今天给大家介绍的这个插件除了放大之外&#xff0c;还可以旋转、移动、翻转、旋转、二次放大&#xff08;全屏&#xff09; 实现 npm i v-viewer -Smain.js 中引入 import viewerjs/dist/viewer.c…

【网络基础】网线制作集线器和交换机讲解路由设置

目录 一 网线制作 ● 由来 ● 材料&#xff08;4种&#xff09; ● 步骤 二 集线器和交换机 2.1 OSI七层模型概念 2.2 集线器与交换机简介 三 路由器设置 3.1 路由器概念 3.2 路由器设置管理登入 3.2.1 进路由器管理(新路由器) 3.2.2 进路由器管理(旧路由器) 四 全…

ROS笔记之rosbag的快速切片(C++实现)

ROS笔记之rosbag的快速切片(C实现) —— 杭州 2023-12-21 夜 code review 文章目录 ROS笔记之rosbag的快速切片(C实现)1.运行效果2.文件结构3.fast_rosbag_slice.cpp4.CMakeLists.txt5.package.xml6.对fast_rosbag_slice.cpp进行函数封装 正常该功能是ROS官方命令行&#xff1a…

C#合并多个Word文档(微软官方免费openxml接口)

g /// <summary>/// 合并多个word文档&#xff08;合并到第一文件&#xff09;/// </summary>/// <param name"as_word_paths">word文档完整路径</param>/// <param name"breakNewPage">true(默认值)&#xff0c;合并下一个…

华为路由配置值——通过流策略实现策略路由(重定向到不同的下一跳)

组网图形 图1 配置策略路由组网图 策略路由简介配置注意事项组网需求配置思路操作步骤配置文件 策略路由简介 传统的路由转发原理是首先根据报文的目的地址查找路由表&#xff0c;然后进行报文转发。但是目前越来越多的用户希望能够在传统路由转发的基础上根据自己定义的策略…

React-Native环境搭建(IOS)

系列文章目录 React-Native环境搭建&#xff08;IOS&#xff09; 目录 系列文章目录前言一、IOS环境搭建前置说明二、环境搭建步骤1.Homebrew安装2.安装Xcode3.Node4.watchman5.CocoaPods 三、项目启动1.初始化项目2.项目启动 总结 前言 React-Native开发环境的搭建&#xff…

【已解决】vs2015下c++对sqlite的操作

本博文源于笔者操作sqlite3&#xff0c;借鉴了很多文章的思路&#xff0c;这里并整理了c常用的对数据库的操作供大家点赞收藏以后备用。包含了&#xff1a;c对sqlite3的创建数据库、创建数据表、写入数据表、读取数据表、删除数据表。也包括了最基础的让c运行sqlite3.内容供读者…

手机无人直播的兴起

近年来&#xff0c;随着科技的不断进步和智能手机的普及&#xff0c;手机无人直播成为了一种新兴的传媒方式。手持手机&#xff0c;不经过镜头操作人员的干预&#xff0c;通过直播平台实时分享自己的所见所闻&#xff0c;成为了越来越多人的选择。手机无人直播的盛行离不开以下…

[node]Node.js 中REPL简单介绍

[node]Node.js 中REPL简单介绍 什么是REPL为什么使用REPL如何使用REPL 命令REPL模式node的全局内容展示node全局所有模块查看全局模块具体内容其它命令 实践 什么是REPL Node.js REPL(Read Eval Print Loop:交互式解释器) 表示电脑的环境&#xff0c;类似 Windows 系统的终端或…