mysql ping 用法 mysql基本操作

2021-10-17 18:04:05 字數 4370 閱讀 6117

1.登入資料庫:

importmysqldb

conn= mysqldb.connect(host='127.0.0.1',user='root',passwd='',db='',port=3306) #連線資料庫

cursor = db.cursor() #使用cursor()方法獲取操作游標

cursor.execute("執行操作內容") #使用execute方法執行sql語句

data = cursor.fetchone() #使用 fetchone() 方法獲取一條資料庫

db.close() #關閉資料庫連線

修改資料庫root密碼:

mysqladmin -u root -p password 新密碼#或者:

mysql>use mysql;

mysql>update user set password=password('root123') where user='root'; #修改root密碼

mysql>flush privileges;

2.檢視資料庫:

mysql> show databases;

3.建立資料庫:

mysql> create database test;

mysql> show databases;

| database |

| information_schema |

| mysql |

| test |

3 rows in set (0.01 sec)

4.使用資料庫:

mysql>use test;

database changed

5.檢視表:

show tables;

6.建立表:

mysql> create table basicinfo (id int primary key auto_increment, name varchar(30) not null, age int notnull);

mysql>show tables;+----------------+

| tables_in_test |

| basicinfo |

1 row in set (0.00 sec)

#在乙個表的基礎上建立表:

mysql> create table new_tbl select * from orig_tbl;

7.插入資料:

語法:insert [into] 表名 [(列名1, 列名2, 列名3, ...)] values (值1, 值2, 值3, ...);

mysql> insert into basicinfo(id, name, age) values('1','echo','30');

mysql> insert into basicinfo(id, name, age) values('2','pingy','25');

mysql> insert into basicinfo(id, name, age) values('3','telnet','18');

8.查詢資料:

語法:select 列名稱 from 表名稱 [查詢條件];

mysql> select * from basicinfo ; #查詢所有資料內容

| id | name | age |

| 1 | echo | 30 |

| 2 | pingy | 25 |

| 3 | telnet | 18 |

3 rows in set (0.00sec)

mysql> select id from basicinfo ; #只檢視id項的資料內容,同理可以把id換成name或age,只檢視name,age項

| id |

| 1 |

| 2 |

| 3 |

3 rows in set (0.00sec)

9.修改資料:

語法:update 表名稱 set 列名稱=新值 where 更新條件;

mysql> update basicinfo set name = 'ssh' where id=1 ; #修改id為1的name為:ssh

mysql> select * frombasicinfo ;+----+--------+-----+

| id | name | age |

| 1 | ssh | 30 | #由echo變為ssh了

| 2 | pingy | 25 |

| 3 | telnet | 18 |

3 rows in set (0.00 sec)

10.刪除資料:

語法:delete from 表名稱 where 刪除條件;

mysql> delete from basicinfo where id =3; #刪除id為3的項

query ok, 1 row affected (0.00sec)

mysql> select * frombasicinfo ;+----+-------+-----+

| id | name | age |

| 1 | ssh | 30 |

| 2 | pingy | 25 |

2 rows in set (0.00 sec)

11.刪除表:

語法:drop table table_name;  或者 drop table if exists table_name;

12.刪除資料庫:

語法:drop database 資料庫名;

13.資料回滾:

cur.rollback() #回滾

例:#開啟資料庫連線

db = mysqldb.connect("127.0.0.1","root","root123","mydb")#使用cursor()方法獲取操作游標

cursor =db.cursor()#sql 更新語句

sql = "update employee set age = age + 1

where *** = '%c'"% ('m')

try:#執行sql語句

cursor.execute(sql)#提交到資料庫執行

db.commit()except:#發生錯誤時回滾

db.rollback()#關閉資料庫連線

db.close()

例項1:

mysql> select * from basicinfo; #先檢視現有表資料內容

| id | name | age |

| 1 | echo | 30 |

| 2 | pingy | 25 |

| 3 | telnet | 18 |

3 rows in set (0.00 sec)

連線資料庫並操作:

cur=conn.cursor()

conn.select_db('mydb')

res= cur.execute("update basicinfo set name = 'john',age = 20 where id=1 ;") #修改id為1的內容:名字為john,年齡為20

conn.commit()

cur.close()

conn.close()print(res)

再次查詢:

mysql> select * frombasicinfo;+----+--------+-----+

| id | name | age |

| 1 | john | 20 | #內容被修改了

| 2 | pingy | 25 |

| 3 | telnet | 18 |

3 rows in set (0.00 sec)

例項2:

importmysqldb

conn= mysqldb.connect(host='127.0.0.1',user='root',passwd='',db='',port=3306) #連線資料庫

cur =conn.cursor()

conn.select_db('newdb')

res= cur.execute("select * from info;")print(cur.fetchone()) #返回第一條資料內容

res1 = cur.execute("insert into info(id, name, age) values('2','pingy','25');")#cur.executemany() #執行多條語句

conn.commit() #提交

cur.close() #關閉連線

conn.close() #關閉操作

print(res)

輸出結果:

mysql ping實現資料庫重連

實際工作中遇到上一次資料庫訪問和下一次資料庫訪問超過wait timeout的情況,此時就會報mysql has gone away的錯誤.利用mysql ping可以解決 1 現在資料庫抽象層加入重連功能 重新連線資料庫 private function reconnect 檢查資料庫連線是否可用...

Mysq中的流程控制語句的用法

這篇部落格主要是總結一下mysq中的流程控制語句的用法,主要是 case,if,ifnull,nullif 1.case case value when compare value then result when compare value then result else result end ...

mysq比較時間

在oracle中使用時間函式to date習慣了,在oracle中時間的加減也非常簡單,直接加減即可。在mysql中時間的函式很多,非常自由。在專案中經常用到的就是時間的加減。比如60天前,oracle中直接就是sysdate 60,mysql中就不行。對時間加減的函式是 加adddate 減sub...