使用dict和set

在使用dict和list的时候,经常会遇到字典不存的时候报错。
dict:
如果key不存在,dict就会报错:

1
2
3
4
>>> d['Thomas']
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
KeyError: 'Thomas'

要避免key不存在的错误,有两种办法,一是通过in判断key是否存在:

1
2
>>> 'Thomas' in d
False

二是通过dict提供的get方法,如果key不存在,可以返回None,或者自己指定的value:

1
2
3
4
5
>>> d.get('Thomas')
>>> d.get('Thomas', -1)
-1

注意:返回None的时候Python的交互式命令行不显示结果。

阅读全文 »

简单sql

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
创建数据库
create database name;
选择数据库
use databasename;
直接删除数据库,不提醒
drop databasename;
在shell中执行,删除数据库前,有提示。
mysqladmin drop database name
显示表
show tables;
表的详细描述
describe tablename;

select 中加上distinct去除重复字段

显示当前mysql版本和当前日期和当前用户
select version(),current_date,current_user();

注意
如下脚本创建数据库yourdbname,并制定默认的字符集是utf8。
CREATE DATABASE IF NOT EXISTS yourdbname DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

如果要创建默认gbk字符集的数据库可以用下面的sql:
create database yourdb DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci;

阅读全文 »

MySQL的变量分为以下两种:

  • 系统变量:配置MySQL服务器的运行环境,可以用show variables查看
  • 状态变量:监控MySQL服务器的运行状态,可以用show status查看

系统变量

系统变量按其作用域的不同可以分为以下两种:

  • 分为全局(GLOBAL)级:对整个MySQL服务器有效
  • 会话(SESSION或LOCAL)级:只影响当前会话
    有些变量同时拥有以上两个级别,MySQL将在建立连接时用全局级变量初始化会话级变量,但一旦连接建立之后,全局级变量的改变不会影响到会话级变量。
阅读全文 »

我们先做一些声明,MySQL采用二进制包来安装,升级都是在同一台DB Server上操作 升级注意事项#在升级 MySQL 时需要注意的事项: 仔细阅读一下升级的目标版本的新特性和改变的特性,以及2个版本之间的不同特性 升级前一定要备份所有的数据 有些不同版本间的升级可能会涉及对授权表的修改 同步 ...
阅读全文 »

NMap工具

主要功能:探测主机是否在线、扫描主机开放端口和嗅探网络服务,用于网络探测和安全扫描.
NMap支持很多扫描技术,例如:UDP、TCPconnect()、TCPSYN(半开扫描)、ftp代理(bounce攻击)、反向标志、ICMP、FIN、ACK扫描、SYN扫描和null扫描。
命令格式:Nmap [ 扫描类型 ] [ 通用选项 ] { 扫描目标说明 }

阅读全文 »