python---mysql 学习笔记
数据库------mysql
安装:
linux----centos7:
在CentOS中默认安装有MariaDB,这个是MySQL的分支,但为了需要,还是要在系统中安装MySQL,而且安装完成之后可以直接覆盖掉MariaDB。
安装mysql
1.下载并安装mysql官方的yum Repository
[root@localhost ~]# wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
使用yum进行安装:
[root@localhost ~]# yum -y install mysql57-community-release-el7-10.noarch.rpm
2.开始安装myql服务器:
[root@localhost ~]# yum -y install mysql-community-server
这一步会花费不少的时间,请耐心等待,安装完之后就会覆盖掉之前的mariadb
mysql数据库的设置:
3.启动mysql:
[root@localhost ~]# systemctl start mysqld.service
查看mysql运行状态:
[root@localhost ~]# systemctl status mysqld.service
4.找出mysql的root用户密码,通过在日志文件中查找:
[root@localhost ~]# grep "password" /var/log/mysqld.log
5.进入数据库:
[root@localhost ~]# mysql -uroot -p
输入上面查询到的初始密码,之后不能做任何事情,只有在修改了默认密码之后才能够操作数据库:
6.修改密码:
常见的修改密码的方法有:
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'new password';
mysql> set password for 'root@localhost'=password('Newpassword4!')
但是都会遇到一个问题:
这时候我们必须要用其他的方法:
mysql> set password=password('123456')
此时还是会遇到一个新的问题:
新密码设置过于简单,这个原因是mysql有密码设置的规范,具体是与validate_password_policy的值有关
所以我们先设置一个符合规则的密码,包含大小写数字和符号的密码:
这样我们才能够进行查看密码规则和其他的操作:
或者使用如下的命令修改密码:
[root@localhost ~]#mysqladmin -u root password "new_password";
MySQL完整的初始密码规则可以通过如下命令查看:
mysql> SHOW VARIABLES LIKE 'validate_password%';
+--------------------------------------+--------+
| Variable_name | Value |
+--------------------------------------+--------+
| validate_password_check_user_name | OFF |
| validate_password_dictionary_file | |
| validate_password_length | 8 |
| validate_password_mixed_case_count | 1 |
| validate_password_number_count | 1 |
| validate_password_policy | MEDIUM |
| validate_password_special_char_count | 1 |
+--------------------------------------+--------+
7 rows in set (0.01 sec)
validate_password_policy:密码策略,默认为MEDIUM策略
validate_password_dictionary_file:密码策略文件,策略为STRONG才需要
validate_password_length:密码最少长度
validate_password_mixed_case_count:大小写字符长度,
至少1个 validate_password_number_count :数字至少1个
validate_password_special_char_count:特殊字符至少1个 上述参数是默认策略MEDIUM的密码检查规则。
我们修改一下里面的参数:
mysql> set global validate_password_policy=0;
mysql> set global validate_password_length=4;
这样我们就能够设置简单的密码:1234,或者root
7.配置默认编码:uft8
首先我们看一下mysql默认的编码:
mysql> show variables like '%character%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)
修改/etc/my.cnf配置文件,在[mysqld]下添加编码配置,如下所示:
[mysqld]
character_set_server=utf8
init_connect='SET NAMES uft8'
重新启动mysql服务,查看看数据库编码,如下所示:
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.01 sec)
8.设置mysql开机启动:
[root@localhost ~]# systemctl enable mysqld
[root@localhost ~]# systemctl daemon-reload
默认配置文件路径:
配置文件:/etc/my.cnf
日志文件:/var/log//var/log/mysqld.log
服务启动脚本:/usr/lib/systemd/system/mysqld.service
socket文件:/var/run/mysqld/mysqld.pid
windows下安装mysql:
windows上安装mysql相对来说要简单的多,只要下载mysql对应的安装包,
MySQL Installer 下载
mysql-installer-community-5.7.19.0.msi:https://dev.mysql.com/downloads/file/?id=471661
然后运行exe文件进行安装,需要注意的如下:
一般我们选择Custom;
next之后我们会看到下面这个界面:
有的时候他会下载失败,install fail,:The action ‘Install’ for product ‘MySQL Server 5.7.19’ failed.
这是因为我们电脑里面没有安装Visual Studio2013运行库,
32位的Visual C++ Redistributable Packages for Visual Studio 2013!!!注意是32位的。即使你的电脑是64位的
安装网址: https://www.microsoft.com/zh-cn/download/details.aspx?id=40784
之后就设置登录密码,顺利安装成功。
安装成功,进行验证,开始菜单中打开MySQL命令行工具
mysql数据类型
分为:数值,时间和字符(串)类型
数值类型:
类型 | 大小 | 范围(有符号) | 范围(无符号) | 用途 |
---|---|---|---|---|
TINYINT | 1 字节 | (-128,127) | (0,255) | 小整数值 |
SMALLINT | 2 字节 | (-32 768,32 767) | (0,65 535) | 大整数值 |
MEDIUMINT | 3 字节 | (-8 388 608,8 388 607) | (0,16 777 215) | 大整数值 |
INT或INTEGER | 4 字节 | (-2 147 483 648,2 147 483 647) | (0,4 294 967 295) | 大整数值 |
BIGINT | 8 字节 | (-9 233 372 036 854 775 808,9 223 372 036 854 775 807) | (0,18 446 744 073 709 551 615) | 极大整数值 |
FLOAT | 4 字节 | (-3.402 823 466 E+38,1.175 494 351 E-38),0,(1.175 494 351 E-38,3.402 823 466 351 E+38) | 0,(1.175 494 351 E-38,3.402 823 466 E+38) | 单精度 浮点数值 |
DOUBLE | 8 字节 | (1.797 693 134 862 315 7 E+308,2.225 073 858 507 201 4 E-308),0,(2.225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E+308) | 0,(2.225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E+308) | 双精度 浮点数值 |
DECIMAL | 对DECIMAL(M,D) ,如果M>D,为M+2否则为D+2 | 依赖于M和D的值 | 依赖于M和D的值 | 小数值 |
时间类型:
类型 | 大小 (字节) |
范围 | 格式 | 用途 |
---|---|---|---|---|
DATE | 3 | 1000-01-01/9999-12-31 | YYYY-MM-DD | 日期值 |
TIME | 3 | '-838:59:59'/'838:59:59' | HH:MM:SS | 时间值或持续时间 |
YEAR | 1 | 1901/2155 | YYYY | 年份值 |
DATETIME | 8 | 1000-01-01 00:00:00/9999-12-31 23:59:59 | YYYY-MM-DD HH:MM:SS | 混合日期和时间值 |
TIMESTAMP | 4 | 1970-01-01 00:00:00/2037 年某时 | YYYYMMDD HHMMSS | 混合日期和时间值,时间戳 |
字符类型:
类型 | 大小 | 用途 |
---|---|---|
CHAR | 0-255字节 | 定长字符串 |
VARCHAR | 0-65535 字节 | 变长字符串 |
TINYBLOB | 0-255字节 | 不超过 255 个字符的二进制字符串 |
TINYTEXT | 0-255字节 | 短文本字符串 |
BLOB | 0-65 535字节 | 二进制形式的长文本数据 |
TEXT | 0-65 535字节 | 长文本数据 |
MEDIUMBLOB | 0-16 777 215字节 | 二进制形式的中等长度文本数据 |
MEDIUMTEXT | 0-16 777 215字节 | 中等长度文本数据 |
LONGBLOB | 0-4 294 967 295字节 | 二进制形式的极大文本数据 |
LONGTEXT | 0-4 294 967 295字节 | 极大文本数据 |
常用操作:(命令结束之后一定要加分号)
查看数据库:show databases;
进入mysql数据库:use mysql;
查看这个库中有什么表:show tables;
查看表的结构:desc 表名;or show columns from 数据表
查看表中数据:select * from 表名 (\G);加上\G,就变成了竖着的显示
创建一个新用户:
use mysql; mysql库里面有mysql自带的用户表,它存了账户的所有信息
我们查询mysql中的user表的User字段,就可以看到你现在的数据库中有多少个用户
grant all on test.* to 'xiaoming'@'localhost' identified by 'xiaoming123'
all:分配给用户的权限,有Select,Insert,Update,Delete,Create,Drop,Re load,Shutdown,Process,File,Grant,References,Index,Alter
test.*:为数据库test的所有表分配的用户。所有就是*.*
‘xiaoming’@'localhost' indentified by 'xiaoming123':用户名为xiaoming,密码xiaoming123
查看创建用户的权限:show grants for 用户名
创建数据库:create database 数据库名 charset utf8
查看创建的数据库的编码:show create database 数据库名
删除数据库:drop database 数据库名
创建数据表:
create table student(
id int auto_increment,
name char(32) not null,
age int not null,
register_date date not null,
primary key(id)
);
如果你不想字段为 NULL 可以设置字段的属性为 NOT NULL, 在操作数据库时如果输入该字段的数据为NULL ,就会报错。
AUTO_INCREMENT定义列为自增的属性,一般用于主键,数值会自动加1。
PRIMARY KEY关键字用于定义列为主键。 同时如果使用多列来定义主键,列间以逗号分隔。
插入数据:
insert into student(name,age,register_date) values ("xiaoming",22,"1996-09-20");
查询数据:
SELECT column_name,column_name FROM table_name [WHERE Clause][LIMIT N] [OFFSET M ]
查询语句中你可以使用一个或者多个表,表之间使用逗号(,)分割,并使用WHERE语句来设定查询条件
使用星号(*)代替其他字段,SELECT语句会返回表的所有字段数据
使用 WHERE 语句来包含任何条件
LIMIT 属性设定返回的记录数
OFFSET指定SELECT语句开始查询的数据偏移量。默认情况下偏移量为0,
OFFSET不能单独使用
offset必须在limit后面添加
where子句:
模糊查询:like: binary '%Li' 只匹配大写
更新数据(Update):
UPDATE table_name SET field1=new-value1, field2=new-value2 [WHERE Clause]
删除数据(delete):
DELETE FROM table_name [WHERE Clause]
mysql排序:
SELECT field1, field2,...fieldN table_name1, table_name2... ORDER BY field1, [field2...] [ASC [DESC]]
使用 ASC 或 DESC 关键字来设置查询结果是按升序或降序排列。 默认情况下,它是按升序排列。
mysql的group by:
SELECT column_name, function(column_name) FROM table_name
WHERE column_name operator value
GROUP BY column_name;
统计总数:在最后加一个with rollup
mysql alter命令:我们需要修改数据表名或者修改数据表字段时,就需要使用到MySQL ALTER命令。
删除,添加或修改表字段
alter table student drop register_date; #从student表删除register_date字段
alter table student add telephere int(11) not null; #添加phone字段
alter table student modify sex enum("M","F") not null; #修改sex
修改字段类型和名称:(modify和change)
modify修改字段的类型,如把char(1)变成char(10):
alter table student modify sex int(10)
change语句:在使用change之后紧跟着的是要修改的字段名,然后制定新字段名及类型:
alter table student change sex gender char(32) default 'M';
修改表名:
alter table student rename to student1;
关于外键“:用于关联两个表:
我们创建第二个表:
create table study_record(
id int not null auto_increment,
day int not null,
status char(32) not null default 'YES',
stu_id int(11) not null,
primary key(`id`),
key `fk_student_key` (`stu_id`),
constraint `fk_student_key` foreign key (`stu_id`) references `student` (`id`));
首先我们看一下student表中的数据:
现在我们为study_record插入数据
但是当我们输入的stu_id不在student表中的id范围时:
Mysql 连接(left join, right join, inner join ,full join)
JOIN 按照功能大致分为如下三类:
- inner join(内连接,或等值连接):获取两个表中字段匹配关系的记录。
- left join(左连接):获取左表所有记录,即使右表没有对应匹配的记录。
- right join(右连接): 与 right join 相反,用于获取右表所有记录,即使左表没有对应匹配的记录。
首先我们创建两个数据表:
mysql> select * from A;
+---+
| a |
+---+
| 1 |
| 2 |
| 3 |
| 4 |
+---+
mysql> select * from B;
+---+
| b |
+---+
| 3 |
| 4 |
| 5 |
| 6 |
| 7 |
| 8 |
+---+
inner join:内连接,就是查询出两个表的共同元素(交集)
select * from A inner join B on A.a = B.b;
select A.*,B.* from A,B where A.a = B.b; +---+---+
| a | b |
+---+---+
| 3 | 3 |
| 4 | 4 |
+---+---+
left join:就是查询出两个表的不同元素(差集)
mysql> select * from A left join B on A.a = B.b;
+---+------+
| a | b |
+---+------+
| 3 | 3 |
| 4 | 4 |
| 1 | NULL |
| 2 | NULL |
+---+------+
先把A中的数据取出来,然后看B中有没有相同的数据,如果有就对应取出,没有的数据就用NULL
right join:
mysql> select * from A right join B on A.a = B.b;
+------+---+
| a | b |
+------+---+
| 3 | 3 |
| 4 | 4 |
| NULL | 5 |
| NULL | 6 |
| NULL | 7 |
| NULL | 8 |
+------+---+
效果和select * from B left join A on A.a=B.b一样的效果
full join:
(mysql不直接支持),即select * from A full join B on A.a = B.b会报错
但是:
mysql> select * from A left join B on A.a = B.b union select * from A right join B on A.a = B.b;
+------+------+
| a | b |
+------+------+
| 3 | 3 |
| 4 | 4 |
| 1 | NULL |
| 2 | NULL |
| NULL | 5 |
| NULL | 6 |
| NULL | 7 |
| NULL | 8 |
+------+------+
8 rows in set (0.00 sec)
通过这种方法间接的实现了full join
事务
MySQL 事务主要用于处理操作量大,复杂度高的数据。比如说,在人员管理系统中,你删除一个人员,你既需要删除人员的基本资料,也要删除和该人员相关的信息,如信箱,文章等等,这样就需要用到多条sql语句,但是如果在执行sql语句中突然死机断电,还没有把所有语句执行完,那就会有问题。这样,这些数据库操作语句就构成一个事务!
在MySQL中只有使用了Innodb数据库引擎的数据库或表才支持事务,事务处理可以用来维护数据库的完整性,保证成批的SQL语句要么全部执行,要么全部不执行。同时事务用来管理insert,update,delete语句
事务的4个条件(ACID):
Atomicity(原子性):一组事务,要么成功;要么撤回。
Consistency(稳定性):有非法数据(外键约束之类),事务撤回。
Isolation(隔离性):事务独立运行。一个事务处理后的结果,影响了其他事务,那么其他事务会撤回。事务的100%隔离,需要牺牲速度。
Durability(可靠性):软、硬件崩溃后,InnoDB数据表驱动会利用日志文件重构修改。可靠性和高速度不可兼得, innodb_flush_log_at_trx_commit选项 决定什么时候把事务保存到日志里。
mysql> select * from student;
+----+-----------+-----+---------------+--------+
| id | name | age | register_date | gender |
+----+-----------+-----+---------------+--------+
| 1 | xiaoming | 22 | 1996-09-20 | NULL |
| 3 | xiaoliang | 21 | 1995-09-25 | NULL |
| 5 | linhuahua | 27 | 1993-06-07 | NULL |
| 9 | xiaoming | 26 | 1993-06-02 | NULL |
| 11 | haha | 26 | 2011-01-01 | M |
+----+-----------+-----+---------------+--------+
5 rows in set (0.00 sec) mysql> begin; #开始一个事务 mysql> insert into student (name,age,register_date,gender) values("wangsen",25,"2016-09-22","M"); mysql> insert into student (name,age,register_date,gender) values("wangqing",26,"2016-09-12","F"); mysql> select * from student;
+----+-----------+-----+---------------+--------+
| id | name | age | register_date | gender |
+----+-----------+-----+---------------+--------+
| 1 | xiaoming | 22 | 1996-09-20 | NULL |
| 3 | xiaoliang | 21 | 1995-09-25 | NULL |
| 5 | linhuahua | 27 | 1993-06-07 | NULL |
| 9 | xiaoming | 26 | 1993-06-02 | NULL |
| 11 | haha | 26 | 2011-01-01 | M |
| 12 | wangsen | 25 | 2016-09-22 | M |
| 13 | wangqing | 26 | 2016-09-12 | F |
+----+-----------+-----+---------------+--------+
7 rows in set (0.00 sec) mysql>rollback; 回滚 , 这样数据是不会写入的 mysql> select * from student;
+----+-----------+-----+---------------+--------+
| id | name | age | register_date | gender |
+----+-----------+-----+---------------+--------+
| 1 | xiaoming | 22 | 1996-09-20 | NULL |
| 3 | xiaoliang | 21 | 1995-09-25 | NULL |
| 5 | linhuahua | 27 | 1993-06-07 | NULL |
| 9 | xiaoming | 26 | 1993-06-02 | NULL |
| 11 | haha | 26 | 2011-01-01 | M |
+----+-----------+-----+---------------+--------+
5 rows in set (0.00 sec)
如果一切操作正常的话,用mysql> commit;进行提交就可以了,这个时候你所插入的数据就能够正常的插入到数据库中了
索引
MySQL索引的建立对于MySQL的高效运行是很重要的,索引可以大大提高MySQL的检索速度。
数据表可以有很多的字段,但是主键只有一个,索引可以有多个,比如:个人信息表,每个人可以包含多个字段:姓名,年龄,性别,生日等等,一个个人信息有50列,我们最关注的也就是姓名和身份证号,我们可以对这两个字段做两个索引。索引就是通过哈希的形式把一列的数据转成数字,然后再排序,通过二分查找查找数据。这样检索速度就提高了。
索引分单列索引和组合索引。
单列索引,即一个索引只包含单个列,一个表可以有多个单列索引,但这不是组合索引。
组合索引,即一个索引包含多个列。
创建索引时,你需要确保该索引是应用在 SQL 查询语句的条件(一般作为 WHERE 子句的条件)。
实际上,索引也是一张表,该表保存了主键与索引字段,并指向实体表的记录。
索引的缺点:
虽然索引大大提高了查询速度,同时却会降低更新表的速度,如对表进行INSERT、UPDATE和DELETE。因为更新表时,MySQL不仅要保存数据,还要保存一下索引文件。建立索引会占用磁盘空间的索引文件
查看一个表的索引:
show index from student; +---------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
| Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment |
+---------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
| student | 0 | PRIMARY | 1 | id | A | 7 | NULL | NULL | | BTREE | | |
+---------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
一个表中的主键自动就是索引,主键就是一种索引,默认的
创建索引:
CREATE INDEX indexName ON table(username(length));
mysql> create index index_name on student(name(32)); mysql> show index from student;
+---------+------------+------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
| Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment |
+---------+------------+------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
| student | 0 | PRIMARY | 1 | id | A | 6 | NULL | NULL | | BTREE | | |
| student | 1 | index_name | 1 | name | A | 4 | NULL | NULL | | BTREE | | |
+---------+------------+------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
2 rows in set (0.00 sec)
在创建表的时候就添加索引:
create table tablename(
id int not null,
username varchar(16) not null,
index [indexName] (username(length))
);
删除索引:
drop index [indexName] on tablename
唯一索引:
索引列的值必须唯一,但是允许有空值。如果是组合索引,则列值的组合必须唯一。
创建,删除索引等操作就是在前面的普通索引之前加一个unique:如创建唯一索引|:create unique index indexName on tablename(username(length))
以上就是mysql的一些基本操作,谢谢
python---mysql 学习笔记的更多相关文章
- 【原】Learning Spark (Python版) 学习笔记(三)----工作原理、调优与Spark SQL
周末的任务是更新Learning Spark系列第三篇,以为自己写不完了,但为了改正拖延症,还是得完成给自己定的任务啊 = =.这三章主要讲Spark的运行过程(本地+集群),性能调优以及Spark ...
- Mysql学习笔记(三)对表数据的增删改查。
正文内容. 这一部分是最简单的,也是最麻烦的.简单是因为其实只包括增删该插四个部分.大体上看,增加数据.删除数据.修改数据.查询数据都不麻烦啊,我们日常都是常用的.这个谁不会呢?以前在培训机构学mys ...
- MySQL学习笔记一
MySQL 学习笔记 一 一.数据库简单介绍 1. 按照数据库的发展时间顺序,主要出现了以下类型数据库系统: Ø 网状型数据库 Ø 层次型数据库 Ø 关系型数据库 Ø 面向对象数据库 上面4中数据库系 ...
- Mysql学习笔记(二)数据类型 补充
原文:Mysql学习笔记(二)数据类型 补充 PS:简单的补充一下数据类型里的String类型以及列类型... 学习内容: 1.String类型 2.列类型存储需求 String类型: i.char与 ...
- Mysql学习笔记(一)数据类型
原文:Mysql学习笔记(一)数据类型 学习内容: Mysql基本数据类型. 1.数字类型.. i.整型 Mysql数据类型 含义(有符号) tinyint(m ...
- Python Click 学习笔记(转)
原文链接:Python Click 学习笔记 Click 是 Flask 的团队 pallets 开发的优秀开源项目,它为命令行工具的开发封装了大量方法,使开发者只需要专注于功能实现.恰好我最近在开发 ...
- 初识mysql学习笔记
使用VMVirtualBox导入Ubuntu后,可以通过sudo apt-get install mysql-server命令下载mysql. 在学习过程中,我遇到了连接不上Xshell的问题.最终在 ...
- 0003.5-20180422-自动化第四章-python基础学习笔记--脚本
0003.5-20180422-自动化第四章-python基础学习笔记--脚本 1-shopping """ v = [ {"name": " ...
- Python Flask学习笔记之模板
Python Flask学习笔记之模板 Jinja2模板引擎 默认情况下,Flask在程序文件夹中的templates子文件夹中寻找模板.Flask提供的render_template函数把Jinja ...
- Python Flask学习笔记之Hello World
Python Flask学习笔记之Hello World 安装virtualenv,配置Flask开发环境 virtualenv 虚拟环境是Python解释器的一个私有副本,在这个环境中可以安装私有包 ...
随机推荐
- MS SQL GUID
(转自:http://blog.csdn.net/maonongwu/article/details/6327093) GUID介绍 GUID(Global unique identifier)全局唯 ...
- Selenium-xapth定位
xpath 的定位方法, 非常强大. 使用这种方法几乎可以定位到页面上的任意元素. 什么是xpath xpath 是XML Path的简称, 由于HTML文档本身就是一个标准的XML页面,所以我们可 ...
- LeetCode OJ:Search a 2D Matrix(二维数组查找)
Write an efficient algorithm that searches for a value in an m x n matrix. This matrix has the follo ...
- L133
The U.S. Food and Drug Administration is considering a ban on flavorede-cigarettes in response to an ...
- C++友元类实现
C++中的友元既可以实现友元函数,也可以实现友元类,也就是说一个类也可以作为另外一个类的友元.当作为一个类的友元时,它的所有成员函数都是另一个类的友元函数,都可以访问另一个类的私有或者公有成员. 请看 ...
- [置顶]
Android开发百科全书
友情提示根据目录 快速查找问题 %1$s %1$d Android string 1.整型,比如"我今年23岁了",这个23是整型的.在string.xml中可以这样写,<s ...
- 前端之HTML补充
一.列表 (1).无序列表<ul> <body> <ul type="disc"> <li>属性一</li> <l ...
- (效果三)js实现选项卡切换
开发了很久的小程序,在接到一个h5移动端页面的时候,很多原生的东西都忘了,虽然说我们随着工作经验的增加,处理业务逻辑的能力在提高,但是基础的东西如果长时间不用,也会逐渐忘记.所以以后会经常总结原生的一 ...
- linux 查看某文件是否正在使用(被读写)
fuser功能 fuser 可以显示出当前哪个程序在使用磁盘上的某个文件.挂载点.甚至网络端口,并给出程序进程的详细信息. fuser显示使用指定文件或者文件系统的进程ID.默认情况下每个文件名后面 ...
- C++中cin的使用总结
在学习C++时大家肯定迷惑过关于输入输出各种输出函数的功能,现在来总结一下各种函数的简单用法. cin建有一个缓冲区,即输入缓冲区.一次输入过程是这样的,当一次键盘输入结束时会将输入的数据存入输入缓冲 ...