MySQL学习总结_φ(❐_❐✧
MySQL学习总结
一、MySQL的特点:
关系型数据库、跨平台、支持多种编程语言。
二、MySQL的数据类型
(一)数值类型
(1)整型
1、int 大整型(4个字节)取值范围:2 ** 32 - 1
2、tinyint 微小整型(1个字节)
取值范围:
有符号(signed默认):-128~127
无符号(unsigned):0~255
3、smallint 小整型(2个字节)
4、bigint 极大整型(8个字节)
(2)浮点型
1、float (4个字节,最多显示7个有效位)
用法:字段名 float(m,n) m表示总位数,n表示小数位数
2、decimal (最多显示28个有效位)
用法:字段名decimal(m,n) m表示总位数,n表示小数位数
PS:存储空间(整数、小数分开存储)
规则:将9的倍数包装成4个字节
余数 字节
0 0
1-2 1
3-4 2
5-6 3
7-9 4
eg:
decimal(19,9)
整数部分:10/9=商1余1, 4字节+1字节=5字节
小数部分:9/9=商1余0 ,4字节+0字节=4字节
占:9字节
NOTE:浮点型插入整数会自动补全小数位位数,小数位多于指定位数,会对下一位四舍五入
(二)字符类型
1、char(定长) 取值范围:1~255
2、varchar(变长) 取值范围:1-65535
3、text / longtext(4G) / blob / longblob(4G)
NOTE:char和varchar特点
char:浪费存储空间,性能高
varchar:节省存储空间,性能低
PS:字符型宽度和数值型宽度的区别——
1、数值类型宽度为显示宽度,只用于select查询显示和占用存储无关
2、字符类型的宽度超过之后则无法存储
(三)枚举类型
1、单选(enum):字段名 enum(值1,值2,…)
2、多选(set) :字段名 set(值1,值2,…)
(四)日期时间类型
1、date:“YYYY-MM-DD”
2、time:“HH:MM:SS”
3、datetime:“YYYY-MM-DD HH:MM:SS” ——(不给值默认返回NULL值)
4、timestamp:“YYYY-MM-DD HH:MM:SS” ——(不给值默认返回系统当前时间)
日期时间函数
1、now():返回服务器当前时间
2、curdate():返回当前日期
3、curtime():返回当前时间
4、year(date):返回指定时间的年份
5、date(date):返回指定时间的日期
6、time(date):返回指定时间的时间
日期时间运算
select * from 表名 where 字段名 运算符 (时间-interval 时间间隔单位)
时间间隔单位:1 day | 2 hour |1 minute | 2 year | 3 month
eg:查询1天以内的记录
select * from testdb where shijian > (now()-interval 1day);
三、基本SQL操作命令
(一)SQL命令的使用规则
1、每条命令必须以 ; 结尾
2、SQL命令不区分字母大小写
3、可以使用 \c 来终止当前命令的执行
(二)库的管理
①库的基本操作命令
(1)查看已有库:
show databases;
(2)创建库(指定字符集):
create database 库名 [character set utf8];
(3)查看创建库的语句(字符集):
show create database 库名;
(4)查看当前所在库:
select database();
(5)切换库:
use 库名;
(6)查看库中已有表:
show tables;
(7)删除库:
drop database 库名;
②库的命名规则
(1)数字、字母、下划线,但不能使用纯数字
(2)库名区分字母大小写
(3)不能使用特殊字符和MySQL关键字
(三)表的管理
①表的基本操作命令
(1)创建表(指定字符集):
create table 表名 (
字段名 数据类型,
字段名 数据类型,
。。。
字段名 数据类型
) [character set utf8];
(2)查看已有表的字符集:
show create table 表名;
(3)查看表结构:
desc 表名;
(4)删除表:
drop table 表名;
NOTE:所有的数据都是以文件的形式存放在数据库目录(\var\lib\mysql)下。
②表记录管理
(1)插入(insert):
1、insert into 表名 values (值1),(值2),…;
2、insert into 表名 (字段名1,字段名2,…) (值1),(值2),…;
(2)查询(select):
1、select * from 表名 [where 条件];
2、seleat 字段名1,字段名2,… from 表名 [where 条件];
③表字段操作
————语法:alter table 表名 执行动作
(1)添加字段(add)
alter table 表名 add 字段名 数据类型; (PS:默认添加至末尾)
alter table 表名 add 字段名 数据类型 first; (PS:在开头添加字段)
alter table 表名 add 字段名 数据类型 after 字段名; (PS:在指定字段后添加字段)
(2)删除字段(drop)
alter table 表名 drop 字段名;
(3)修改数据类型(modify)
alter table 表名 modify 字段名 新数据类型;
(4)表的重命名(rename)
alter table 表名 rename 新表名;
④表记录管理
(1)删除表记录
delete from 表名 where 条件;
NOTE:delete 语句后面不加where条件,所有记录全部清空
(2)更新表记录
update 表名 set 字段1=值1,字段2=值2,… where 条件;
NOTE:必须加where条件
⑤运算符操作
(1)数值比较/字符比较
1、数值比较:= ,!= , > , >= , < , <=
2、字符比较:= ,!=
(2)逻辑比较
1、and (两个或多个条件同时成立)
2、or (任意一个条件成立即可)
(3)范围比较
1、between 值1 and 值2
2、where 字段名 in (值1,值2,…)
3、where 字段名 not in (值1,值2,…)
(4)匹配空、非空
1、空:is null
2、非空:is not null
NOTE:NULL 空值——只能用is或is not 去匹配
“” 空字符串——用=或!=去匹配
(5)模糊比较
1、where 字段名 like 表达式
2、表达式:
:匹配单个字符
%:匹配0到多个字符
eg:
select name from testdb where name like "%_";
PS:NULL 不会被统计,只能用is、is not 去匹配
⑥表的复制
(1)语法:
create table 表名 select … from 表名 where 条件;
(2)复制表结构
create table 表名 select * from 表名 where false;
NOTE:复制表的时候不会把原表的键(key) 属性复制过来
(四)更改默认字符集
通过更改MySQL配置文件实现:
1、获取root权限:sudo -i
2、进入配置文件路径:cd /etc/mysql/mysql.conf.d/
NOTE:MAC 无配置文件,需自己新建文件mysqld.cnf:/etc/mysqld.cnf
3、文件备份:cp mysqld.cnf mysqld.cnf.bak
4、用subl或vi打开mysqld.cnf:
subl mysqld.cnf
[mysqld]
character_set_server = utf8
5、重启MySQL服务:/etc/init.d/mysql restart
(五)SQL查询
※ 命令执行顺序:
3、select … 聚合函数 from 表名
1、where …
2、group by …
4、having …
5、order by …
6、limit … ;
(1)order by
1、作用:给查询结果进行排序
2、用法:… order by 字段名 ASC/DESC
3、升序:ASC(默认)
降序:DESC
(2)limit (永远放在SQL语句的最后写)
1、作用:限制显示查询记录的个数
2、用法:limit n —— 显示n条记录
limit m,n —— m表示从第m+1项开始显示,显示n条
eg:
limit 2,3 —— 显示第3、4、5三条记录
3、分页:每页显示n条记录,显示m页 —— limit (m-1)×n,n
(3)聚合函数
1、avg(字段名):求该字段平均值
2、sum(字段名):求和
3、max(字段名):求最大值
4、min(字段名):求最小值
5、count(字段名):统计该字段记录的个数
(4)group by
作用:给查询结果进行分组
NOTE:
1、group by 之后的字段名必须要为select之后的字段名
2、如果select之后的字段名和group by之后的字段名不一致,择必须对该字段进行聚合处理(聚合函数)
(5)having 语句
作用:对查询的结果进行进一步筛选
NOTE:
1、having 语句通常和group by 语句联合使用,过滤由group by 语句返回的记录集
2、where 只能操作表中实际存在的字段,having可操作由聚合函数生成的显示列
(6)distinct
作用:不显示字段重复值
NOTE:
1、distinct 和 from之间所有字段都相同才会去重
2、distinct 不能对任何字段做聚合处理
(7)约束
1、作用:保证数据的完整性、一致性、有效性
2、约束分类:
1、默认约束(default)
插入记录,不给该字段赋值,则使用默认值
2、非空约束(no NULL)
不允许该字段的值有NULL记录
eg:sex enum (“M”,“F”,“S”) not default “s”
(8)索引介绍
1、定义:对数据库表的一列或多列的值进行排序的一种结构(Btree方式)
2、优点:加快数据检索速度
3、缺点:占用物理存储空间,当对表中数据更新时,索引需要动态维护,降低数据维护速度
eg:索引示例
1、开启运行时间检测:
set profiling=1;
2、执行查询语句:
select name from t1 where name=“lucy99999";
3、查看执行时间:
show profiles;
4、在name字段创建索引:
create index name on t1 (name);
5、再执行查询语句:
select name from t1 where name=“lucy88888”;
6、查看执行时间:
show profile;
(9)索引操作
①普通索引(index)
1、使用规则
1、可设置多个字段
2、字段值无约束
3、key标志:MUL
2、创建index
1、创建表时
create table 表名 (…
index (字段名),index (字段名));
2、已有表
create index 索引名 on 表名 (字段名);
create index name on t3 (name);
3、查看索引
1、desc 表名; —— KEY标志为:MUL
2、show index from 表名;
4、删除索引
drop index 索引名 on 表名;
②唯一索引(unique)
1、使用规则
1、可设置多个字段
2、约束:字段值不允许重复,但可为NULL
3、KEY标志:UNI
2、创建
1、创建表时创建
unique(字段名)
2、已有表
create unique index 索引名 on 表名 (字段名);
3、查看、删除 同普通索引
③主键索引(primary key)
自增长属性(auto_increment,配合主键一起使用)3
1、使用规则
1、只能有一个主键字段
2、约束:不允许重复,且不能为NULL
3、KEY标志:PRI
4、通常设置记录编号字段id,能唯一锁定一条记录
2、创建
1、创建表时
(id int primary key auto_increment,…) auto_increment=10000; ——设置自增长起始值
已有表添加自增长属性:alter table 表名 modify id int auto_increment;
已有表重新指定起始值:alter table 表名 auto_increment=20000;
2、已有表
alter table 表名 add primary key (id);
3、删除
1、删除自增长属性(modify)
alter table 表名 modify id int;
2、删除主键索引
alter table 表名 drop primary key;
4、外键索引
外键(foreign key)
1、定义 :让当前表字段的值在另一个表的范围内选择
2、语法:
foreign key(参考字段名)
references 主表(被参考字段名)
on delete 级联动作
on update 级联动作
3、使用规则
1、主表、从表字段数据类型要一致
2、主表被参考字段 :主键
4、删除外键
alter table 表名 drop foreign key 外键名;
外键名 :show create table 表名;
5、级联动作
1、cascade
数据级联删除、更新(参考字段)
2、restrict(默认)
从表有相关联记录,不允许主表操作
3、set null
主表删除、更新,从表相关联记录字段值为NULL
6、已有表添加外键
alter table 表名 add
foreign key(参考字段) references 主表(被参考字段)
on delete …
on update …
(10)嵌套查询(子查询)
1、定义 :把内层的查询结果作为外层的查询条件
2、语法格式
select … from 表名 where 条件(select …);
(11)多表查询
1、两种方式:
1、select 字段名列表 from 表名列表; (笛卡尔积)
eg:
t1 : name -> “A1” “A2” “A3”
t2 : name -> “B1” “B2”
select * from t1,t2;
2、… where 条件;
(12)连接查询
1、内连接
1、语法格式
select 字段名 from
表1 inner join 表2 on 条件
inner join 表3 on 条件;
2、显示省市详细信息
select sheng.s_name,city.c_name from sheng
inner join city on sheng.s_id=city.cfather_id;
3、显示省市县详细信息
select sheng.s_name,city.c_name,xian.x_name from
sheng inner join city
on sheng.s_id=city.cfather_id
inner join xian
on city.c_id=xian.xfather_id;
2、外连接
1、左连接
1、以 左表 为主显示查询结果
2、select 字段名 from
表1 left join 表2 on 条件
left join 表3 on 条件;
3、显示省市详细信息
select sheng.s_name,city.c_name from sheng
left join city
on sheng.s_id=city.cfather_id;
2、右连接
用法同左连接,以右表为主显示查询结果
(六)数据导入
(1)作用:把文件系统的内容导入到数据库中
(2)语法:
load data infile “/var/lib/mysql-files/文件名”
into table 表名
fields terminated by “分隔符”
lines terminated by “\n”;
(3)将scoretable.csv文件导入到数据库的表中
1、在数据库中创建对应的表
create table scoretab(
id int,
name varchar(15),
score float(5,2),
number bigint,
class char(7)
);
2、把文件拷贝到数据库的默认搜索路径中
1、查看默认搜素路径
show variables like “secure_file_priv”;
/var/lib/mysql-files/
2、拷贝文件
sudo cp ~/scoretable.csv /var/lib/mysql-files/
3、执行数据导入语句
load data infile “/var/lib/mysql-files/scoretable.csv”
into table scoretab
fields terminated by “,”
lines terminated by “\n”;
4、文件权限
rwxrw-rw- 1 tarena tarena scoretable.csv
所有者 所属组
rwx : tarena用户
rw- : 同组其他用户
rw- : 其他组的其他用户(mysql用户)
r -> 4
w -> 2
x -> 1
chmod 644 文件名 rw-r–r--
5、Excel表格如何转化为CSV文件
1、打开Excel文件 -> 另存为 -> CSV(逗号分隔)
6、更改文件编码格式
1、用记事本/编辑器 打开,文件->另存为->选择编码
(六)数据导出
(1)作用 :
将数据库中表的记录导出到系统文件里
(2)语法格式
select … from 表名
into outfile “/var/lib/mysql-files/文件名”
fields terminated by “分隔符”
lines terminated by “\n”;
(七)数据备份(mysqldump,在Linux终端中操作)
(1)命令格式
mysqldump -u用户名 -p 源库名 > ~/***.sql
(2)源库名的表示方式
--all-databases 备份所有库
库名 备份单个库
-B 库1 库2 库3 备份多个库
库名 表1 表2 表3 备份指定库的多张表
eg:
1、备份所有库,放到 mydata 目录下:all.sql
mysqldump -uroot -p --all-databases > all.sql
2、备份 db4 库中的 sheng city xian 三张表,scx.sql
mysqldump -uroot -p db4 sheng city xian > scx.sql
3、备份 MOSHOU 和 db4 库, md.sql
mysqldump -uroot -p -B MOSHOU db4 > md.sql
4、备份 db4 库, db4.sql
mysqldump -uroot -p db4 > db4.sql
(八)数据恢复
(1)命令格式(Linux终端)
mysql -uroot -p 目标库名 < ***.sql
(2)从所有库备份中恢复某一个库(–one-database)
mysql -uroot -p --one-database 目标库名 < all.sql
mysql -uroot -p --one-database db4 < all.sql
eg:
1、在db4.sheng新增一条记录
2、在db4中新建一张表 t888,里面插入1条记录
3、从db4.sql中恢复db4库
NOTE:
1、恢复库时如果恢复到原库会将表中数据覆盖,新增表不会删除
2、数据恢复时如果恢复的库不存在,则必须先创建空库
(九)MySQL的用户账户管理
(1)开启MySQL远程连接
1、sudo -i
2、cd /etc/mysql/mysql.conf.d/
3、subl mysqld.cnf
#bind-address = 127.0.0.1 ctrl + s保存
4、/etc/init.d/mysql restart
(2)添加授权用户
1、用root用户登录mysql
mysql -uroot -p123456
2、授权
grant 权限列表 on 库.表 to “用户名”@"%"
identified by “密码” with grant option;
权限列表:all privileges 、select 、insert
库.表 : . 所有库的所有表
eg:
1、添加授权用户tiger,密码123,对所有库的所有表有所有权限
grant all privileges on . to “tiger”@"%" identified by “123” with grant option;
2、添加用户rabbit,对db4库有所有权限
grant all privileges on db4.* to “rabbit”@"%" identified by “123” with grant option;
(十)存储引擎(处理表的处理器)
(1)基本操作
1、查看所有存储引擎
mysql> show engines;
2、查看已有表的存储引擎
mysql> show create table 表名;
3、创建表指定
create table 表名(…)engine=myisam;
4、已有表
alter table 表名 engine=innodb;
(2)锁
1、目的 :解决客户端并发访问的冲突问题
2、锁分类
1、锁类型
1、读锁(共享锁)
select :加读锁之后别人不能更改表记录,但可以进行查询
2、写锁(互斥锁、排他锁)
insert、delete、update
加写锁之后别人不能查、不能改
2、锁粒度
1、表级锁 :myisam
2、行级锁 :innodb
3、常用存储引擎特点
1、InnoDB特点
1、共享表空间
表名.frm :表结构和索引文件
表名.ibd :表记录
2、支持行级锁
3、支持外键、事务操作
2、MyISAM特点
1、独享表空间
表名.frm :表结构
表名.myd :表记录 mydata
表名.myi :索引文件 myindex
2、支持表级锁
4、如何决定使用哪个存储引擎
1、执行查操作多的表用 MyISAM(使用InnoDB浪费资源)
2、执行写操作多的表用 InnoDB
(3)MySQL调优
1、选择合适的存储引擎
1、读操作多 :MyISAM
2、写操作多 :InnoDB
2、创建索引
在 select、where、order by常涉及到的字段建立索引
3、SQL语句的优化
1、where子句中不使用 != ,否则放弃索引全表扫描
2、尽量避免 NULL 值判断,否则放弃索引全表扫描
优化前 :
select number from t1 where number is null;
优化后 :
在number列上设置默认值0,确保number列无NULL值
select number from t1 where number=0;
3、尽量避免 or 连接条件,否则放弃索引全表扫描
优化前 :
select id from t1 where id=10 or id=20 or id=30;
优化后:
select id from t1 where id=10
union all
select id from t1 where id=20
union all
select id from t1 where id=30;
4、模糊查询尽量避免使用前置 % ,否则全表扫描
select name from t1 where name like “%c%”;
5、尽量避免使用 in 和 not in,否则全表扫描
select id from t1 where id in(1,2,3,4);
select id from t1 where id between 1 and 4;
6、尽量避免使用 select * …;用具体字段代替 * ,不要返回用不到的任何字段
(4)事务和事务回滚
1、定义 :一件事从开始发生到结束的整个过程
2、作用 :确保数据一致性
3、事务和事务回滚应用
1、MySQL中sql命令会自动commit到数据库
show variables like “autocommit”;
2、事务应用
1、开启事务
mysql> begin;
mysql> …一条或多条SQL语句
## 此时autocommit被禁用
2、终止事务
mysql> commit; | rollback;
eg:
1、背景
你 :建行卡
你朋友 :工商卡
你在建行自动取款机给你朋友的工商卡转账5000元
2、建表
表1、CCB
create table CCB(
name varchar(15),
money decimal(20,2)
);
insert into CCB values(“只手遮天”,10000);
表2、ICBC
create table ICBC(
name varchar(15),
money decimal(20,2)
);
insert into ICBC values(“为所欲为”,1000);
3、开始转账
mysql> begin;
mysql> update CCB set money=money-5000 where name=“只手遮天”;
mysql> update ICBC set money=money+5000 where name=“为所欲为”;
mysql> commit;
#### 转账成功 ####
(5)与python交互
1、交互类型
1、python3
模块名 :pymysql
安装:
在线 :sudo pip3 install pymysql
离线 :pymysql-0.7.11.tar.gz
$ tar -zxvf pymyql-0.7.11.tar.gz
$ cd pymysql-0.7.11
$ sudo python3 setup.py install
2、pymysql使用流程
1、建立数据库连接(db = pymysql.connect(…))
2、创建游标对象(c = db.cursor())
3、游标方法: c.execute(“insert …”)
4、提交到数据库 : db.commit()
5、关闭游标对象 :c.close()
6、断开数据库连接 :db.close()
3、connect对象
1、db = pymysql.connect(参数列表)
1、host :主机地址,本地 localhost
2、port :端口号,默认3306
3、user :用户名
4、password :密码
5、database :库
6、charset :编码方式,推荐使用 utf8
2、数据库连接对象(db)的方法
1、db.close() 关闭连接
2、db.commit() 提交到数据库执行
3、db.rollback() 回滚
4、cur = db.cursor() 返回游标对象,用于执行具体SQL命令
3、游标对象(cur)的方法
1、cur.execute(sql命令,[列表]) 执行SQL命令
2、cur.close() 关闭游标对象
3、cur.fetchone() 获取查询结果集的第一条数据
(1,100001,“河北省”)
4、cur.fetchmany(n) 获取n条
((记录1),(记录2))
5、cur.fetchall() 获取所有记录
错误:
1、root@“localhost” denied,Using password:YES
2、“localhostt”
3、connect object has no attribute “rollbake”
4、pymysql has no attribute “connect”
(6)orm(Object Relation Mapping 对象关系映射)
1、定义
把对象模型映射到MySQL数据库中
2、sqlalchemy安装:
在线 :sudo pip3 install sqlalchemy
离线 :
$ tar -zxvf SQLAlchemy-1.2.10.tar.gz
$ cd SQLAlchemy-1.2.10
$ sudo python3 setup.py install
验证:
$ python3
>>> import sqlalchemy
>>>
eg:
class User(Base):
_ tablename_ = “t1” #声明要创建的表名
id = Column(Integer,primary_key=True)
name = Column(String(20))
解释:
一个类User --> 一张表 t1
表中有两个字段 :id 和 name
MySQL学习总结_φ(❐_❐✧相关推荐
- mysql存储过程大于小于_mysql5.0存储过程操作符知识_函数方法[Mysql学习]
mysql存储过程基本函数 一.字符串类 CHARSET(str) //返回字串字符集 CONCAT (string2 [,... ]) //连接字串 INSTR (string ,substrin ...
- MySQL学习笔记_关于MySQL的字符类型VARCHAR长度知识总结
MySQL学习笔记_关于MySQL的字符类型VARCHAR长度知识总结 一.VARCHAR存储和行长度限制 1.VARCHAR(N)中,N指的是字符的长度,VARCHAR类型最大支持65535,指的是 ...
- mysql查询心得_我的MYSQL学习心得(七) 查询
在这个<我的MYSQL学习心得>系列里面,我一直都把MYSQL跟SQLSERVER进行比较,相互进行比较是学习一样东西比较好的方法 比较出大家的异同点,从而加深记忆 这一篇<我的MY ...
- MySQL学习笔记_上(select查询)
上次整理了一些练习发到博客上了,也说要发基础的,整理了一下午才算是把查询那块的勉强整理完,下次再整理其他的,另外还在写设计模式和数据结构的草稿,写的差不多会慢慢发的,这两项算是副线发展,主线还是按 ...
- MySQL学习笔记(B站网课:MySQL_基础+高级篇- 数据库 -sql -mysql教程_mysql视频_mysql入门_尚硅谷)已完结
目录 一.为什么要学习数据库 二.数据库的相关概念 三.数据库存储数据的特点 四.初始MySQL MySQL产品的介绍和安装 MySQL服务的启动和停止 MySQL服务的登录和退出 MySQL的常见命 ...
- 初识mysql实验小结_初识mysql学习笔记
使用VMVirtualBox导入Ubuntu后,可以通过sudo apt-get install mysql-server命令下载mysql. 在学习过程中,我遇到了连接不上Xshell的问题.最终在 ...
- c语言连接数据库例子,c语言操作mysql数据库小例子_互帮互助(C language MySQL database operation example _ mutual help).doc...
这是精心收集的精品经典资料,值得下载保存阅读! c语言操作mysql数据库小例子_互帮互助(C language MySQL database operation example _ mutual h ...
- C/C++学习之路_九:文件操作
C/C++学习之路_九:文件操作 目录 概述 文件的顺序读写 文件的随机读写 windows和linux文本 获取文件状态 删除文件.重命名文件 文件缓冲区 1. 概述 1. 磁盘文件和设备文件 磁盘 ...
- C/C++学习之路_八: 复合类型
C/C++学习之路_八: 复合类型 目录 结构体 共用体(联合体) 枚举 typedef 1. 结构体 1. 概述 有时我们需要将不同类型的数据组合成一个有机的整体,如:一个学生有学号/姓名/性别/年 ...
最新文章
- 70个Python练手项目列表 预祝大家 快乐
- 谈谈怎么做【服务隔离】
- 梯度提升树(GBDT)原理小结
- 13张PPT带你了解主动式消息队列处理集群
- Google广告优化与工具
- html+css京东登录页面
- 中国石油大学(北京)本科毕业论文答辩PPT模板
- 汽车电子(一)--- 整车CAN网络介绍
- 不会比这更详细的前端工程化的入门教程了
- [转]库存那些事儿_4_收货
- C++ 重载、重写及其区别
- ios测试硬盘速度软件,MAC测试“读写速度达100MB/s_希捷 Backup Plus Slim for Mac 500GB_移动存储评测-中关村在线...
- 步进电机--S 曲线的C算法
- 概率论与数理统计——多方法解决-双样本方差的F检验-Excel/SPSS
- MATLAB/Simulink中的S函数报错
- 【MATLAB】解一元一次(一元二次)方程
- 数据库:CHAR,VARCHAR,TEXT,ENUM ,SET,BINARY,VARBINARY 列的完整性约束
- c语言打印a-Z字母的方法
- NYOJ2347---LYQの字符串(技巧题:应该是滑动窗)
- LINUX 查看宝塔BT登陆账号密码