pip install pymysqlmysql
==鏈接數據庫的參數:==sql
conn = pymysql.connect(host='lpcalhost',user='rppt',password='123',database='test',chaarset='utf8',) #coursor=conn.cursor()默認返回的值是元組類型 cursor = conn.cursor(cirsor=pymysql.cursors.DictCursor) #返回值是字典類型
用戶能夠不經過密碼或者用戶名就能登陸數據庫
==產生的緣由:==由於過於相信用戶輸入的內容,根本沒有作任何效驗。fetch
==解決方法:==優化
經過格式化輸出方式將用戶名和密碼作優化,客戶必須輸入纔會進行效驗。《sql = "select *from user where name=%s and password=%s" cursor.execute(sql,(user,pwd))》code
sql="inster into user(name,password) values(%s,%s)" #cursor.execute(sql,('xxx','qwe'))##新增一條數據 data=[ ('nick','123') ('tank','123') ('saon','123') ] cursor.executemany(sql,data)##新增多條數據 ###加以下代碼塊 conn.commit() print(cursor.lastrowid) ##獲取最後一行的id值
sql='updata user set name=%s where id=%s' cursor.execute(sql,('dgsahdsa',2)) conn.commit() cursor.close() conn.close()
fetchall():取出全部的數據 返回的是列表套字典 fetchone():取出一條數據,返回的是字典 fetchmany(size):取出size條數據,返回的是列表套字典
sql = 'delete from user where id=%s' cursor.execute(sql,('dgsahddsa',2)) conn.commmit() sursor.close() conn.close()
索引的做用就是爲了提升查詢效率索引
索引的本質是一個特殊的文件ip
索引的原理 B+樹ci
索引的種類:
主鍵索引:加速查找+不能重複+不能爲空 primary key
惟一索引:加速查找+不能重複 unique(name)
聯合惟一索引:unique(name,email),例:akon 123@.com
普通索引:加速查找 index(name)
聯合索引:index(name,email)
==主鍵索引:==
新增主鍵索引:
create table xxx(id int auto_increment primary key)
alter table xxx change id id int auto_increment
primary key;
alter table t1 add primary key(id)
刪除主鍵索引:
mysql>alter table t1 drop primary key;
==惟一索引:==
新增:
create table t2(id int auto_increment primary key,name varchar(32) not null default ",unique u_name(name))charset utf8
creat unique index 索引名 on 表名(字段名);
create unique index is_name on t1(name);
alter table t2 add unique index ix_name(name)
刪除:
alter table t2 drop index u_name;
==普通索引:==
新增:
create table t3(id int auto_increment primary key,
name varchar(32) not null default",
index u_name(name))charset utf8
create index 索引名 on 表名(字段名);
create index ix_name on t3(name);
alter table t3 add index ix_name(name)
刪除:
alter table t3 drop index u_name;
==索引的優缺點==
優勢:提升查詢效率
缺點:加索引後,會佔用大量的磁盤空間