标签:控制台 数据库名 off 字段 img nod class keyword 主机
# 权限授权的参数
all privileges 除grant外的所有权限
select 仅查权限
select,insert 查和插入权限
usage 无访问权限
alter 使用alter table
alter routine 使用alter procedure和drop procedure
create 使用create table
create routine 使用create procedure
create temporary tables 使用create temporary tables
create user 使用create user、drop user、rename user和revoke all privileges
create view 使用create view
delete 使用delete
drop 使用drop table
execute 使用call和存储过程
file 使用select into outfile 和 load data infile
grant option 使用grant 和 revoke
index 使用index
insert 使用insert
lock tables 使用lock table
process 使用show full processlist
select 使用select
show databases 使用show databases
show view 使用show view
update 使用update
reload 使用flush
shutdown 使用mysqladmin shutdown(关闭MySQL)
super 使用change master、kill、logs、purge、master和set global。还允许mysqladmin????????调试登陆
replication client 服务器位置的访问
replication slave 由复制从属使用
?
# 对于数据库的参数
对于目标数据库以及内部其他:
数据库名.* 数据库中的所有
数据库名.表 指定数据库中的某张表
数据库名.存储过程 指定数据库中的存储过程
*.* 所有数据库
# 对于用户的参数
用户名@IP地址 用户只能在改IP下才能访问
用户名@192.168.1.% 用户只能在改IP段下才能访问(通配符%表示任意)
用户名@% 用户可以再任意IP下访问(默认IP地址为%)
> grant all privileges on db1.tb1 TO ‘用户名‘@‘IP‘
> grant select on db1.* TO ‘用户名‘@‘IP‘
> grant select,insert on *.* TO ‘用户名‘@‘IP‘
> revoke select on db1.tb1 from ‘用户名‘@‘IP‘
# 是否允许为空
not null
null
?
# 默认值,创建列时,可指定默认值,即若不指定列属性,应用默认属性
> create table tb1(
nid int not null default 2,
num int not null
);
?
# 设置自增
> create table tb1(
nid int not null auto_increment primary key,
num int null
);
?
> create table tb2(
nid int not null auto_increment,
num int null,
index(nid)
)
?
# 注:对于自增列必须是索引,含主键;对于自增,可以设置起始值和步长
# 会话级别的设置,全局级别设置将session改成global即可
> show session variables like ‘auto_inc%‘;
+--------------------------+-------+
| Variable_name | Value |
+--------------------------+-------+
| auto_increment_increment | 1 |
| auto_increment_offset | 1 |
+--------------------------+-------+
> set session auto_increment_increment=2;
> set session auto_increment_offset=10;
?
# 主键设置,主键是一种特殊的且唯一的索引,不允许为空,如果主键使用单个列,则它的值必须唯一,如果是多列,则其组合必须唯一.
> create table tb1(
nid int not null auto_increment primary key,
num int null
)
?
> create table tb2(
nid int not null,
num int not null,
primary key(nid,num)
)
?
# 外键设置,外键是一种特殊的索引,只能是指定内容
> create table color(
nid int not null primary key,
name char(16) not null
)
?
> create table fruit(
nid int not null primary key,
smt char(32) null,
color_id int not null,
constraint fk_cc foreign key (color_id) references color(nid)
)
import pymysql
# 创建连接
conn = pymysql.connect(host=‘10.18.210.139‘, port=3306, user=‘root‘, passwd=‘12345‘, db=‘oldboy‘)
# 创建游标
cursor = conn.cursor(cursor=pymysql.cursors.DictCursor) #输出变成字典格式
#cursor = conn.cursor()
# 执行SQL,并返回收影响行数
effect_row = cursor.execute("select * from t1",)
# 不能用先拼接字符串在传入,那样容易sql注入, 比如 root or 1=1 -- 这样传入就会产生sql注入
# 执行SQL,并返回受影响行数
# effect_row = cursor.execute("update hosts set host = ‘1.1.1.2‘ where nid > %s", (1,))
# 执行SQL,并返回受影响行数
# effect_row = cursor.executemany("insert into hosts(host,color_id)values(%s,%s)", [("1.1.1.11",1),("1.1.1.11",2)])
# 提交,不然无法保存新建或者修改的数据、删除数据--提交事务
conn.commit()
#拿出是元组/字典类型结果
res = cursor.fetchone() #得到一个结果,在次fetchone会在上次的基础上继续取数据
# res = cursor.fetchall()
# res = cursor.fetchmany(3) #一次取3个
# 关闭游标
cursor.close()
# 关闭连接
conn.close()
print (res)
#最新的最后一条自增id,拿的是自己的
new_id = cursor.lastrowid
cursor.scroll(1,mode=‘relative‘) #相对当前位置移动
cursor.scroll(1,mode=‘absolute‘) #相对绝对位置移动,第一个参数为1就会从1开始开始移动
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<h1>单表</h1>
<p>
主机名: <input type="text" />
</p>
<p>
端口: <input type="text" />
</p>
<h1>一对多</h1>
<p>
主机名: <input type="text" />
</p>
<p>
端口: <input type="text" />
</p>
<p>
<select>
<option>刘一</option>
<option>刘二</option>
<option>刘上</option>
</select>
</p>
<h1>多对多</h1>
<p>
主机名: <input type="text" />
</p>
<p>
端口: <input type="text" />
</p>
<p>
<select multiple>
<option>刘一</option>
<option>刘二</option>
<option>刘上</option>
</select>
</p>
</body>
</html>
#!/usr/bin/python
# -*- coding:utf-8 -*-
import pymysql
user = input(‘请输入用户名:‘)
pwd = input(‘请输入密码:‘)
# 获取数据
conn = pymysql.Connect(host=‘192.168.12.89‘,port=3306,user=‘root‘,password="123",database="s17day11db",charset=‘utf8‘)
cursor = conn.cursor()
sql = ‘select * from userinfo where username="%s" and password="%s" ‘ %(user,pwd,)
# user = alex" --
# pwd= asdf
‘select * from userinfo where username="alex" -- " and password="sdfsdf"‘
# user = asdfasdf" or 1=1 --
# pwd= asdf
‘select * from userinfo where username="asdfasdf" or 1=1 -- " and password="asdfasdf"‘
v = cursor.execute(sql)
result = cursor.fetchone()
cursor.close()
conn.close()
print(result)
import pymysql
user = input(‘请输入用户名:‘)
pwd = input(‘请输入密码:‘)
# 获取数据
conn = pymysql.Connect(host=‘192.168.12.89‘,port=3306,user=‘root‘,password="123",database="s17day11db",charset=‘utf8‘)
cursor = conn.cursor()
v = cursor.execute(‘select * from userinfo where username=%s and password=%s‘,[user,pwd])
result = cursor.fetchone()
cursor.close()
conn.close()
print(result)
import pymysql
# 获取数据
conn = pymysql.Connect(host=‘192.168.12.89‘,port=3306,user=‘root‘,password="123",database="s17day11db",charset=‘utf8‘)
cursor = conn.cursor()
cursor.execute(‘insert into class(caption) values(%s)‘,[‘新班级‘])
conn.commit()
new_class_id = cursor.lastrowid # 获取新增数据自增ID
cursor.execute(‘insert into student(sname,gender,class_id) values(%s,%s,%s)‘,[‘李杰‘,‘男‘,new_class_id])
conn.commit()
cursor.close()
conn.close()
标签:控制台 数据库名 off 字段 img nod class keyword 主机
原文地址:http://www.cnblogs.com/xiaofeiweb/p/7219250.html