mysql基本操作2

2021-10-19 14:26:23 字數 4679 閱讀 8262

檢視操作

select ename, sal, hiredate, job from emp

create

view emp_view as

(select ename, sal, hiredate, job from emp)

select

*from emp_view

檢視檢視

檢視修改

檢視刪除

檢視更新 # 注意試圖更新會同時更新實體表

更新檢視的限制條件

索引:多欄位 排序 儲存,提高查詢效率

建立索引

手動建立:

create

table stu2(

stu_id int(7

),stu_name varchar(20

),email varchar(20

),stu_info text

,index

(stu_id)

-- 建立普通索引

unique

(email)

-- 建立唯一索引

primary

key(stu_id)

-- 建立主鍵索引

fulltext (stu_info)

-- 建立全文索引

)show

index

from stu2;

-- 為已有表新增 復合 索引:

create

index index_name on student(stu_id, stu_name)

alter

table student add

index

(stu_id)

-- 普通索引

alter

table student add

unique

[index

](email)

刪除索引

使用者管理

找回密碼-root:windows舉例

許可權管理

事務事務控制

create

table account(

id int

primary

keyauto_increment

, username varchar(30

)not

null

, balance double);

insert

into account(username, balance)

values

("zs"

,1000);

insert

into account(username, balance)

values

("ls"

,1000);

-- 開啟轉賬事務

start

transaction

;update account set balance = balance -

200where username=

"zs"

;update account set balance = balance +

200where username=

"ls"

;-- 執行需要提交該事務\\或者回滾該事務

commit

;-- rollback;

隔離級別

-- 檢視隔離級別

select @@transtraction_isolation

;-- 設定隔離級別

setsession

transaction

isolation

level

read

uncommitted

;

pymysql

import pymysql

# 獲取連線

connection = pymysql.connect(host=

"localhost"

, user=

"root"

, password=

"root"

, db=

"test06"

, charset=

"utf8"

)print

(connection)

# 執行sql:查詢

cursor = connection.cursor(

)sql =

"select * from emp"

cursor.execute(sql)

# 檢視結果

emps=cursor.fetchall(

)for e in emps:

print

(e, end=

"\n"

)# 執行sql:插入資料

sql =

"insert into emp(empno, ename) values(9898, 'merry')"

count = cursor.execute(sql)

print

("count:"

, count)

# count=1

# 執行dml時,會開啟乙個事務,需要主動提交

connection.commit(

)# 執行sql:修改資料

sql =

"update emp set sal=10000 where empno=9898"..

.# 同上

# 執行sql:刪除資料

sql =

"delete from emp where empno=9898"..

.# 同上

# 查詢漏洞

sql =

"insert into emp(empno, ename) values(%s, %s)"

args =

(1234

,"marry"

)count = cursor.execute(sql,args)

# 新增異常處理..

.connection =

none

cursor =

none

try:

connection = pymysql.connect(..

.)..

.except exception as e:

print

(e)if connection:

connection.rollback(

)finally

:if cursor:

cursor.close(

)if connection:

connection.close().

..# 工具類

class

dbutils

: config =

# 連線資料庫的配置

def__init__

(self)

: self.connection = pymysql.connect(

**dbutils.config)

self.cursor = self.connection.cursor(

)def

close

(self)

:if self.cursor:

self.cursor.close(

)if self.connection:

self.connection.close(

)# 任務型別1:執行插入 修改 刪除,事務

defexedml

(self, sql,

*args)

:try

: count = self.cursor.execute(sql, args)

self.connection.commit(

)except exception as e:

print

(e)if self.connection:

self.connection.rollback(

)finally

: self.close(

)# 任務型別2:查詢單條資料

defquery_one

(self, sql,

*args)

:try

: self.cursor.execute(sql, args)

# 查詢非事務,無需commit

return self.cursor.fetchone(

)except exception as e:

print

(e)finally

: self.close(

)# 任務型別3:查詢多條資料(任務2其實可視為該任務的特例)

defquery_all

(self, sql,

*args)

:try

: self.cursor.execute(sql, args)

return self.cursor.fetchall(

)except exception as e:

print

(e)finally

: self.close(

)

mysql基本操作 MySQL基本操作

mysql中新增使用者,新建資料庫,使用者授權,刪除使用者,修改密碼 注意每行後邊都跟個 表示乙個命令語句結束 1.新建使用者 1.1 登入mysql mysql u root p 密碼 1.2 建立使用者 mysql insert into mysql.user host,user,passwor...

mysql 基本操作 mysql基本操作

mysql 建立表,並設定主鍵自增 create table log logid int 4 primary key not null auto increment,logtitle varchar 32 not null logcontent varchar 160 not null logtim...

mysql運維2 基本操作

先說一說mysql的啟動 啟動過程 etc init.d mysqld start 檢查埠 檢視程序 使用mysqld啟動其實內部會呼叫mysqld safe指令碼啟動mysql,一般出故障時會直接呼叫mysql safe指令碼啟動mysql,因為可以自己新增引數。多例項用mysqld safe啟動...