MYSQL 表的全面总结
作者:随风去远方 发布时间:2024-01-13 12:01:25
1、创建表
1.1、创建表基本语法
CREATE TABLE tablename (column_name_1 column_type_1 constraints,
column_name_2 column_type_2 constraints , ……)
column_name
是列的名字column_type
是列的数据类型contraints
是这个列的约束条件
1.1.1、创建一张简单的表
mysql> create table orders (ordername varchar(10),createtime date,ordermoney decimal(10,2),ordernumber int(2));
Query OK, 0 rows affected (0.23 sec)
1.1.2、查看创建表定义
结构化定义:
mysql> desc orders;
+-------------+---------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------------+---------------+------+-----+---------+-------+
| ordername | varchar(10) | YES | | NULL | |
| createtime | date | YES | | NULL | |
| ordermoney | decimal(10,2) | YES | | NULL | |
| ordernumber | int(2) | YES | | NULL | |
+-------------+---------------+------+-----+---------+-------+
4 rows in set (0.00 sec)
表详细定义:
查看详细的表定义:
mysql> show create table orders \G;
*************************** 1. row ***************************
Table: orders
Create Table: CREATE TABLE `orders` (
`ordername` varchar(10) DEFAULT NULL,
`createtime` date DEFAULT NULL,
`ordermoney` decimal(10,2) DEFAULT NULL,
`ordernumber` int(2) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1
1 row in set (0.00 sec)
ERROR:
No query specified
由此可以看到表的 ENGINE
(存储引擎)是InnoDB
CHARSET
(字符集)是Latin1
“\G
”选项的含义是使得记录能够按照字段竖着排列,对于内容比较长的记录更易于显示。
2、删除表
命令:
DROP TABLE tablename
删除orders:
mysql> drop table orders
-> ;
Query OK, 0 rows affected (0.14 sec)
3、修改表
3.1、修改表类型命令
ALTER TABLE tablename MODIFY [COLUMN] column_definition [FIRST | AFTER col_name]
例:修改表 orders
的 name
字段定义,将 varchar(10)
改为 varchar(20)
:
mysql> alter table orders modify ordername varchar(20);
Query OK, 0 rows affected (0.11 sec)
Records: 0 Duplicates: 0 Warnings: 0
mysql> desc orders;
+-------------+---------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------------+---------------+------+-----+---------+-------+
| ordername | varchar(20) | YES | | NULL | |
| createtime | date | YES | | NULL | |
| ordermoney | decimal(10,2) | YES | | NULL | |
| ordernumber | int(2) | YES | | NULL | |
+-------------+---------------+------+-----+---------+-------+
4 rows in set (0.00 sec)
3.2、字段改名命令
ALTER TABLE tablename CHANGE [COLUMN] old_col_name column_definition
[FIRST|AFTER col_name]
例:表 orders
上将ordernumber
修改为ordernumbers
mysql> alter table orders change column ordernumber ordernumbers int(4);
Query OK, 0 rows affected (0.06 sec)
Records: 0 Duplicates: 0 Warnings: 0
mysql> desc orders;
+--------------+---------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------------+---------------+------+-----+---------+-------+
| ordername | varchar(20) | YES | | NULL | |
| createtime | date | YES | | NULL | |
| ordermoney | decimal(10,2) | YES | | NULL | |
| ordernumbers | int(4) | YES | | NULL | |
+--------------+---------------+------+-----+---------+-------+
4 rows in set (0.00 sec)
特别说明:change 和 modify 都可以修改表的定义,不同的是 change 后面需要写两次列名,不方便。但是 change 的优点是可以修改列名称,modify 则不能。
3.3、增加表字段命令
ALTER TABLE tablename ADD [COLUMN] column_definition [FIRST | AFTER col_name]
例:表 orders
上新增加字段 username
,类型为 varchar(3)
:
mysql> alter table orders add column username varchar(30);
Query OK, 0 rows affected (0.39 sec)
Records: 0 Duplicates: 0 Warnings: 0
mysql> desc orders;
+-------------+---------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------------+---------------+------+-----+---------+-------+
| ordername | varchar(20) | YES | | NULL | |
| createtime | date | YES | | NULL | |
| ordermoney | decimal(10,2) | YES | | NULL | |
| ordernumber | int(2) | YES | | NULL | |
| username | varchar(30) | YES | | NULL | |
+-------------+---------------+------+-----+---------+-------+
5 rows in set (0.00 sec)
3.4、删除表列字段命令
ALTER TABLE tablename DROP [COLUMN] col_name
例:表 orders
上删除字段 username
:
mysql> alter table orders drop column username;
Query OK, 0 rows affected (0.53 sec)
Records: 0 Duplicates: 0 Warnings: 0
mysql> desc orders;
+-------------+---------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------------+---------------+------+-----+---------+-------+
| ordername | varchar(20) | YES | | NULL | |
| createtime | date | YES | | NULL | |
| ordermoney | decimal(10,2) | YES | | NULL | |
| ordernumber | int(2) | YES | | NULL | |
+-------------+---------------+------+-----+---------+-------+
4 rows in set (0.00 sec)
3.5、表改名命令
ALTER TABLE tablename RENAME [TO] new_tablename
例:表 orders
名字改为goodsorders
mysql> alter table orders rename goodsorders;
Query OK, 0 rows affected (0.16 sec)
mysql> desc orders;
ERROR 1146 (42S02): Table 'ordermanage.orders' doesn't exist
mysql> desc goodsorders;
+--------------+---------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------------+---------------+------+-----+---------+-------+
| ordername | varchar(20) | YES | | NULL | |
| createtime | date | YES | | NULL | |
| ordermoney | decimal(10,2) | YES | | NULL | |
| ordernumbers | int(4) | YES | | NULL | |
+--------------+---------------+------+-----+---------+-------+
4 rows in set (0.00 sec)
4、DML 语句
插入(insert
)、查询(select
)、更新(update
)、删除(delete
)
4.1、插入记录 命令
INSERT INTO tablename (field1,field2,……fieldn) VALUES(value1,value2,……valuesn);
例:表 goodsorders
中插入一条记录,ordername
为zhang
,createtime
为2021-05-12
,ordermoney
为100.00
,ordernumbers
为:1
mysql> insert into goodsorders (ordername,createtime,ordermoney,ordernumbers) values('zhang','2021-05-12',100.00,1);
Query OK, 1 row affected (0.03 sec)
也可以省略(field1,field2,……fieldn)这一部分
mysql> insert into goodsorders values('zhang1','2021-05-12',1001.00,11);
Query OK, 1 row affected (0.05 sec)
4.2、查看插入数据命令
4.2.1、查询全部
SELECT * FROM tablename [WHERE CONDITION]
例:查看goodsorders
中所有插入数据
mysql> select * from goodsorders;
+-----------+------------+------------+--------------+
| ordername | createtime | ordermoney | ordernumbers |
+-----------+------------+------------+--------------+
| zhang | 2021-05-12 | 100.00 | 1 |
| zhang1 | 2021-05-12 | 1001.00 | 11 |
+-----------+------------+------------+--------------+
2 rows in set (0.00 sec)
其中“*”表示要将所有的记录都选出来
4.2.2、查询不重复记录命令关键字
distinct
例:查询非goodsorders
中非重复创建时间(createtime)的数据
mysql> select * from goodsorders;
+-----------+------------+------------+--------------+
| ordername | createtime | ordermoney | ordernumbers |
+-----------+------------+------------+--------------+
| zhang | 2021-03-11 | 50.00 | 1 |
| li | 2020-05-12 | 70.00 | 15 |
| li | 2020-03-12 | 70.00 | 15 |
| li | 2020-03-11 | 70.00 | 15 |
| li | 2021-03-11 | 70.00 | 15 |
+-----------+------------+------------+--------------+
5 rows in set (0.00 sec)
mysql> select distinct createtime from goodsorders;
+------------+
| createtime |
+------------+
| 2021-03-11 |
| 2020-05-12 |
| 2020-03-12 |
| 2020-03-11 |
+------------+
4 rows in set (0.00 sec)
由此可以看到,将重复的一条时间数据2021-03-11
去掉了
4.2.3、多条件查询关键字
where
后面的条件是一个字段的‘='比较,还可以使用>、<、>=、<=、!=等比较运算符;
多个条件之间还可以使用 or、and 等逻辑运算符进行多条件联合查询,
例:查询非goodsorders
中 ordername='li'
并且createtime
为2020-03-11
mysql> select * from goodsorders where ordername='li'and createtime ='2020-03-11';
+-----------+------------+------------+--------------+
| ordername | createtime | ordermoney | ordernumbers |
+-----------+------------+------------+--------------+
| li | 2020-03-11 | 70.00 | 15 |
+-----------+------------+------------+--------------+
1 row in set (0.00 sec)
4.2.4、排序查询命名
SELECT * FROM tablename [WHERE CONDITION] [ORDER BY field1 [DESC|ASC] , field2
[DESC|ASC],……fieldn [DESC|ASC]]
例:把 goodsorders
表中的记录按照创建时间高低进行排序显示
mysql> select * from goodsorders order by createtime;
+-----------+------------+------------+--------------+
| ordername | createtime | ordermoney | ordernumbers |
+-----------+------------+------------+--------------+
| li | 2020-03-11 | 70.00 | 15 |
| li | 2020-03-12 | 70.00 | 15 |
| li | 2020-05-12 | 70.00 | 15 |
| zhang | 2021-03-11 | 50.00 | 1 |
| li | 2021-03-11 | 70.00 | 15 |
+-----------+------------+------------+--------------+
5 rows in set (0.01 sec)
4.2.5、显示一部分,而不是全部,指令
SELECT ……[LIMIT offset_start,row_count]
offset_start
表示记录的起始偏移量row_count
表示显示的行数
例如1:显示 goodsorders
表中按照 createtiem
排序后的前 3 条记录:
mysql> select * from goodsorders order by createtime limit 3;
+-----------+------------+------------+--------------+
| ordername | createtime | ordermoney | ordernumbers |
+-----------+------------+------------+--------------+
| li | 2020-03-11 | 70.00 | 15 |
| li | 2020-03-12 | 70.00 | 15 |
| li | 2020-05-12 | 70.00 | 15 |
+-----------+------------+------------+--------------+
3 rows in set (0.00 sec)
例如2:如果要显示 goodsorders
表中按照 createtiem
排序后 从第二条记录开始,显示3条数据:
mysql> select * from goodsorders order by createtime limit 2,3;
+-----------+------------+------------+--------------+
| ordername | createtime | ordermoney | ordernumbers |
+-----------+------------+------------+--------------+
| li | 2020-05-12 | 70.00 | 15 |
| zhang | 2021-03-11 | 50.00 | 1 |
| li | 2021-03-11 | 70.00 | 15 |
+-----------+------------+------------+--------------+
3 rows in set (0.00 sec)
4.2.6、统计数据,聚合指令
SELECT [field1,field2,……fieldn] fun_name
FROM tablename
[WHERE where_contition]
[GROUP BY field1,field2,……fieldn
[WITH ROLLUP]]
[HAVING where_contition]
参数说明:
1、
fun_name
表示要做的聚合操作,也就是聚合函数,常用的有sum
(求和)、count
(*)(记录数)、max
(最大值)、min
(最小值)2、
GROUP BY
关键字表示要进行分类聚合的字段,比如要按照部门分类统计员工数量,部门就应该写在group
by 后面。3、
WITH ROLLUP
是可选语法,表明是否对分类聚合后的结果进行再汇总。4、
HAVING
关键字表示对分类后的结果再进行条件的过滤。
注意:having 和 where 的区别在于 having 是对聚合后的结果进行条件的过滤,而 where 是在聚合前就对记录进行过滤,如果逻辑允许,我们尽可能用 where 先过滤记录,这样因为结果集减小,将对聚合的效率大大提高,最后再根据逻辑看是否用 having 进行再过滤。
例1:查询统计goodsorders
表中,记录总数
mysql> select count(1) from goodsorders;
+----------+
| count(1) |
+----------+
| 5 |
+----------+
1 row in set (0.00 sec)
例2:在此基础上,按照创建日期(createtime
)进行分组统计
mysql> select createtime,count(1) from goodsorders group by createtime;
+------------+----------+
| createtime | count(1) |
+------------+----------+
| 2020-03-11 | 1 |
| 2020-03-12 | 1 |
| 2020-05-12 | 1 |
| 2021-03-11 | 2 |
+------------+----------+
4 rows in set (0.00 sec)
例3:在此基础上,既要按照创建日期(cretetime
)进行分组统计,又要计算总数
mysql> select createtime,count(1) from goodsorders group by createtime with rollup;
+------------+----------+
| createtime | count(1) |
+------------+----------+
| 2020-03-11 | 1 |
| 2020-03-12 | 1 |
| 2020-05-12 | 1 |
| 2021-03-11 | 2 |
| NULL | 5 |
+------------+----------+
5 rows in set (0.02 sec)
最有一行,null
所展示的数字,就是总数
例4:按照创建日期(createtime
)进行分组统计,并且数量大于1
mysql> select createtime,count(1) from goodsorders group by createtime having count(1)>1;
+------------+----------+
| createtime | count(1) |
+------------+----------+
| 2021-03-11 | 2 |
+------------+----------+
1 row in set (0.00 sec)
例5:查询goodsorders
表中,订单金额(ordermoney
)的总额、最低额、最高额
mysql> select * from goodsorders;
+-----------+------------+------------+--------------+
| ordername | createtime | ordermoney | ordernumbers |
+-----------+------------+------------+--------------+
| zhang | 2021-03-11 | 50.00 | 1 |
| li | 2020-05-12 | 70.00 | 15 |
| li | 2020-03-12 | 70.00 | 15 |
| li | 2020-03-11 | 70.00 | 15 |
| li | 2021-03-11 | 70.00 | 15 |
+-----------+------------+------------+--------------+
5 rows in set (0.00 sec)
mysql> select sum(ordermoney),max(ordermoney),min(ordermoney) from goodsorders;
+-----------------+-----------------+-----------------+
| sum(ordermoney) | max(ordermoney) | min(ordermoney) |
+-----------------+-----------------+-----------------+
| 330.00 | 70.00 | 50.00 |
+-----------------+-----------------+-----------------+
1 row in set (0.02 sec)
4.2.7、表连接
1、左连接:包含所有的左边表中的记录甚至是右边表中没有和它匹配的记录;关键指令:
left join
2、右连接:包含所有的右边表中的记录甚至是左边表中没有和它匹配的记录;关联指令:
right join
例1:现在我们又创建一张用户表(member
),使用goodorders
进行左连接,查询关联的用户表信息
mysql> select * from member;
+------+------------+
| id | membername |
+------+------------+
| 15 | zhang |
| 1 | li |
| 13 | liss |
+------+------------+
3 rows in set (0.00 sec)
mysql> select * from goodsorders;
+-----------+------------+------------+--------------+----------+
| ordername | createtime | ordermoney | ordernumbers | memberid |
+-----------+------------+------------+--------------+----------+
| zhang | 2021-03-11 | 50.00 | 1 | 15 |
| li | 2020-05-12 | 70.00 | 15 | 1 |
| li | 2020-03-12 | 70.00 | 15 | 1 |
| li | 2020-03-11 | 70.00 | 15 | 3 |
| li | 2021-03-11 | 70.00 | 15 | 1 |
+-----------+------------+------------+--------------+----------+
5 rows in set (0.00 sec)
mysql> select * from goodsorders left join member on goodsorders.memberid = member.id;
+-----------+------------+------------+--------------+----------+------+------------+
| ordername | createtime | ordermoney | ordernumbers | memberid | id | membername |
+-----------+------------+------------+--------------+----------+------+------------+
| zhang | 2021-03-11 | 50.00 | 1 | 15 | 15 | zhang |
| li | 2020-05-12 | 70.00 | 15 | 1 | 1 | li |
| li | 2020-03-12 | 70.00 | 15 | 1 | 1 | li |
| li | 2021-03-11 | 70.00 | 15 | 1 | 1 | li |
| li | 2020-03-11 | 70.00 | 15 | 3 | NULL | NULL |
+-----------+------------+------------+--------------+----------+------+------------+
5 rows in set (0.00 sec)
例2:member
和goodsorders
中数据不变,我们再来看一下右连接的查询,以及结果:
mysql> select * from goodsorders right join member on goodsorders.memberid = member.id;
+-----------+------------+------------+--------------+----------+------+------------+
| ordername | createtime | ordermoney | ordernumbers | memberid | id | membername |
+-----------+------------+------------+--------------+----------+------+------------+
| zhang | 2021-03-11 | 50.00 | 1 | 15 | 15 | zhang |
| li | 2020-05-12 | 70.00 | 15 | 1 | 1 | li |
| li | 2020-03-12 | 70.00 | 15 | 1 | 1 | li |
| li | 2021-03-11 | 70.00 | 15 | 1 | 1 | li |
| NULL | NULL | NULL | NULL | NULL | 13 | liss |
+-----------+------------+------------+--------------+----------+------+------------+
5 rows in set (0.00 sec)
这里发生了翻转,变为左侧goodsorders
表中的一条数据为空了
4.2.8、子查询,相关关键字
主要包括 in
、not in
、=
、!=
、exists
、not exists
等
例:从goodsorders
表中查询所有用户在memeber表中的记录
mysql> select * from member;
+------+------------+
| id | membername |
+------+------------+
| 15 | zhang |
| 1 | li |
| 13 | liss |
+------+------------+
3 rows in set (0.00 sec)
mysql> select * from goodsorders;
+-----------+------------+------------+--------------+----------+
| ordername | createtime | ordermoney | ordernumbers | memberid |
+-----------+------------+------------+--------------+----------+
| zhang | 2021-03-11 | 50.00 | 1 | 15 |
| li | 2020-05-12 | 70.00 | 15 | 1 |
| li | 2020-03-12 | 70.00 | 15 | 1 |
| li | 2020-03-11 | 70.00 | 15 | 3 |
| li | 2021-03-11 | 70.00 | 15 | 1 |
+-----------+------------+------------+--------------+----------+
5 rows in set (0.00 sec)
mysql> select * from goodsorders where memberid in(select id from member);
+-----------+------------+------------+--------------+----------+
| ordername | createtime | ordermoney | ordernumbers | memberid |
+-----------+------------+------------+--------------+----------+
| zhang | 2021-03-11 | 50.00 | 1 | 15 |
| li | 2020-05-12 | 70.00 | 15 | 1 |
| li | 2020-03-12 | 70.00 | 15 | 1 |
| li | 2021-03-11 | 70.00 | 15 | 1 |
+-----------+------------+------------+--------------+----------+
4 rows in set (0.05 sec)
4.2.9、记录联合,指令
SELECT * FROM t1
UNION|UNION ALL
SELECT * FROM t2
……
UNION|UNION ALL
SELECT * FROM tn;
UNION
和 UNION ALL
的主要区别:
UNION ALL
是把结果集直接合并在一起, UNION
是将UNION ALL
后的结果进行一次 DISTINCT
,去除重复记录后的结果。
例1:将member
表和goodsorders
表中的用户编号id
(memberid)的集合显示出来
mysql> select memberid from goodsorders union all select id from member;
+----------+
| memberid |
+----------+
| 15 |
| 1 |
| 1 |
| 3 |
| 1 |
| 15 |
| 1 |
| 13 |
+----------+
8 rows in set (0.00 sec)
例2:如果希望将上面的结果去掉重复记录后显示
mysql> select memberid from goodsorders union select id from member;
+----------+
| memberid |
+----------+
| 15 |
| 1 |
| 3 |
| 13 |
+----------+
4 rows in set (0.00 sec)
4.3、更新记录命令
UPDATE tablename SET field1=value1,field2.=value2,……fieldn=valuen [WHERE CONDITION]
例:将表 goodsorders
中ordername
为zhang
的订单金额(ordermoney
)改为50
mysql> update goodsorders set ordermoney=50.00 where ordername='zhang';
Query OK, 1 row affected (0.09 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql> select * from goodsorders;
+-----------+------------+------------+--------------+
| ordername | createtime | ordermoney | ordernumbers |
+-----------+------------+------------+--------------+
| zhang | 2021-05-12 | 50.00 | 1 |
| zhang1 | 2021-05-12 | 1001.00 | 11 |
+-----------+------------+------------+--------------+
2 rows in set (0.00 sec)
更新时,如遇到错误代码1175:
Error Code: 1175. You are using safe update mode and you tried to update a table without a WHERE that uses a KEY column. To disable safe mode, toggle the option in Preferences
解决方法:
1、先进行状体查询:
show variables like 'SQL_SAFE_UPDATES';
2、执行下面的sql,关闭safe-updates模式:
SET SQL_SAFE_UPDATES = 0;
或者
SET SQL_SAFE_UPDATES = false;
4.4、删除记录命名
DELETE FROM tablename [WHERE CONDITION]
例:将表 goodsorders
中ordername
为zhang1
的记录全部删除
mysql> delete from goodsorders where ordername = 'zhang1';
Query OK, 1 row affected (0.06 sec)
mysql> select * from goodsorders;
+-----------+------------+------------+--------------+
| ordername | createtime | ordermoney | ordernumbers |
+-----------+------------+------------+--------------+
| zhang | 2021-05-12 | 50.00 | 1 |
+-----------+------------+------------+--------------+
1 row in set (0.02 sec)
4.5、初始化表
例:将表中的所有数据清空
mysql> select * from varc;
+------+------+
| v | c |
+------+------+
| abc | abc |
+------+------+
1 row in set (0.03 sec)
mysql> truncate table varc;
Query OK, 0 rows affected (0.25 sec)
mysql> select * from varc;
Empty set (0.00 sec)
5、DCL 语句
DCL
语句主要是为了管理数据库系统中的操作对象权限
5.1创建数据库用户
例:创建一个数据库用户 user1
,初始密码为123
,具有对 ordermanage
数据库中所有表的 SELECT/INSERT
权限:
mysql> grant select,insert on ordermanage.* to 'user1'@'localhost' identified by '123';
Query OK, 0 rows affected, 1 warning (0.06 sec)
mysql> exit
Bye
C:\Program Files\MySQL\MySQL Server 5.7\bin>mysql -uuser1 -p123
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 82
Server version: 5.7.17-log MySQL Community Server (GPL)
Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| ordermanage |
+--------------------+
2 rows in set (0.00 sec)
在此基础上,将此用户(user1
)的insert
权限进行收回
mysql> revoke insert on ordermanage.* from 'user1'@'localhost';
Query OK, 0 rows affected (0.02 sec)
mysql> exit
Bye
C:\Program Files\MySQL\MySQL Server 5.7\bin>mysql -uuser1 -p123
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 84
Server version: 5.7.17-log MySQL Community Server (GPL)
Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> use ordermanage;
Database changed
mysql> insert into member values('11','ss');
ERROR 1142 (42000): INSERT command denied to user 'user1'@'localhost' for table 'member'
mysql>
由此可以看出插入权限不足,插入失败
来源:https://www.cnblogs.com/19930521zhang/p/14756371.html


猜你喜欢
- wordcloud是Python扩展库中一种将词语用图片表达出来的一种形式,通过词云生成的图片,我们可以更加直观的看出某篇文章的故事梗概。首
- 需求在日常需求中,用户使用手机号或者邮箱登录某一个系统,是一个很常见的操作,那如何在类似手机号或者邮箱这样的字段上建立一个合理的索引呢?前缀
- 条件语句主要有三种形式:分别为if语句、if...else语句和if...elif...else 语句1.if语句条件语句中常用的比较运算符
- 1、首先模拟python类似shell命令行操作的接口:python安装subprocess(本地)、paramiko(SSH远程)#-*-
- 在写 Python 代码的时候,一个很好的编码实践就是使得你的代码简洁,易懂。组织代码,设置变量,以及给函数有意义的名字,都是几个不错的方法
- SSI是英文Server Side Includes的缩写,翻译成中文就是服务器端包含的意思。从技术角度上说,SSI就是在HTML文件中,可
- 一年一度的春运又来了,今年我自己写了个抢票脚本。使用Python+Splinter自动刷新抢票,可以成功抢到。(依赖自己的网络环境太厉害,还
- vue-cli使用stimulsoft.reports.js(保姆级教程)第一部分:数据源准备以下是JSON数据的教程json数据结构{&q
- 一、介绍make_blobs() 是 sklearn.datasets中的一个函数。主要是产生聚类数据集,产生一个数据集和相应的标签。函数的
- 前言使用 pymongo 进行 group by 操作有两种基本方式,他们都是 mongodb 的原生命令,于 Collection 对象上
- 有时候网站会收到一些投稿文章,或者也会转载别人的文章,新创建一个用户又有些麻烦,但在作者名称那里显示自己的名字,总不是那么和谐。今天倡萌推荐
- 什么是注意力机制注意力机制是一个非常有效的trick,注意力机制的实现方式有许多,我们一起来学习一 * 意力机制是深度学习常用的一个小技巧,它
- 简述mat参照了函数设计,plot表示绘图的作用,lib则表示一个集合。今年在开源社区的推动下,Matplotlib在科学计算领域得到了广泛
- exam = { 'math': '95', 'eng': '96', &#
- 前言Node 给前端开发带来了很大的改变,促进了前端开发的自动化,我们可以简化开发工作,然后利用各种工具包生成生产环境。如运行sass sr
- 前言:了解了一下MySQL数据库的基本语句,这章了解一下它的高级操作,包括用户增删除与给予相对应的权限一.克隆表1.1克隆方法一(将表与内容
- 今天打算弄个爬虫,想来想去打算用python弄一个。之前了解到scrapy这个库是个不错的选择,于是开始折腾。可惜第一步就挂了。安装scra
- 最近由于要毕业了写论文做毕设,然后还在实习发现已经好久都没有写博客了。今天由于工作需求,需要用Django实现单用户登录。大概意思就是跟QQ
- 一. valid卷积的梯度我们分两种不同的情况讨论valid卷积的梯度:第一种情况,在已知卷积核的情况下,对未知张量求导(即对张量中每一个变
- select先说switch...case...switch...case... 很常用,且很好理解。其作用和if...else...一样。