自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

你應(yīng)該知道的MySQL的命令和PyMySQL

數(shù)據(jù)庫 MySQL
MySQL是一個「關(guān)系型」數(shù)據(jù)庫管理系統(tǒng),由瑞典MySQL AB 公司開發(fā),目前屬于 Oracle 旗下產(chǎn)品。MySQL 是最流行的關(guān)系型數(shù)據(jù)庫管理系統(tǒng)之一。

MySQL

MySQL是一個「關(guān)系型」數(shù)據(jù)庫管理系統(tǒng),由瑞典MySQL AB 公司開發(fā),目前屬于 Oracle 旗下產(chǎn)品。MySQL 是最流行的關(guān)系型數(shù)據(jù)庫管理系統(tǒng)之一。

在 WEB 應(yīng)用方面,MySQL是最好的 RDBMS (Relational Database Management System,關(guān)系數(shù)據(jù)庫管理系統(tǒng)) 應(yīng)用軟件。MySQL是一種關(guān)系數(shù)據(jù)庫管理系統(tǒng),關(guān)系數(shù)據(jù)庫將數(shù)據(jù)保存在不同的表中,而不是將所有數(shù)據(jù)放在一個大倉庫內(nèi),這樣就增加了速度并提高了靈活性。

MySQL所使用的 SQL 語言是用于訪問數(shù)據(jù)庫的最常用標(biāo)準(zhǔn)化語言。MySQL 軟件采用了雙授權(quán)政策,分為社區(qū)版和商業(yè)版,由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點(diǎn),一般中小型網(wǎng)站的開發(fā)都選擇 MySQL 作為網(wǎng)站數(shù)據(jù)庫。

MySql安裝

安裝和配置

下面(以CentOS Linux環(huán)境為例)。

Linux下有一個MySQL的分支版本,名為MariaDB,它由MySQL的一些原始開發(fā)者開發(fā),有商業(yè)支持,旨在繼續(xù)保持MySQL數(shù)據(jù)庫在GNU GPL下開源(因?yàn)榇蠹覔?dān)心MySQL被甲骨文收購后會不再開源)。

如果決定要直接使用MariaDB作為MySQL的替代品,可以使用下面的命令進(jìn)行安裝。

  1. yum install mariadb mariadb-server 

如果要安裝官方版本的MySQL,可以在MySQL官方網(wǎng)站下載安裝文件。首先在下載頁面中選擇平臺和版本,然后找到對應(yīng)的下載鏈接。下面以MySQL 5.7.26版本和Red Hat Enterprise Linux為例,直接下載包含所有安裝文件的歸檔文件,解歸檔之后通過包管理工具進(jìn)行安裝。

  1. wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.26-1.el7.x86_64.rpm-bundle.tar 
  2. tar -xvf mysql-5.7.26-1.el7.x86_64.rpm-bundle.tar 

如果系統(tǒng)上有MariaDB相關(guān)的文件,需要先移除MariaDB相關(guān)的文件。

  1. yum list installed | grep mariadb | awk '{print $1}' | xargs yum erase -y 

接下來可以按照如下所示的順序用RPM(Redhat Package Manager)工具安裝MySQL。

  1. rpm -ivh mysql-community-common-5.7.26-1.el7.x86_64.rpm 
  2. rpm -ivh mysql-community-libs-5.7.26-1.el7.x86_64.rpm 
  3. rpm -ivh mysql-community-client-5.7.26-1.el7.x86_64.rpm 
  4. rpm -ivh mysql-community-server-5.7.26-1.el7.x86_64.rpm 

可以使用下面的命令查看已經(jīng)安裝的MySQL相關(guān)的包。

  1. rpm -qa | grep mysql 

啟動MySQL服務(wù)

先修改MySQL的配置文件(/etc/my.cnf)添加一行skip-grant-tables,可以設(shè)置不進(jìn)行身份驗(yàn)證即可連接MySQL服務(wù)器,然后就可以以超級管理員(root)身份登錄。

  1. vim /etc/my.cnf 

  1. [mysqld] 
  2. skip-grant-tables 
  3.  
  4. datadir=/var/lib/mysql 
  5. socket=/var/lib/mysql/mysql.sock 
  6.  
  7. symbolic-links=0 
  8.  
  9. log-error=/var/log/mysqld.log 
  10. pid-file=/var/run/mysqld/mysqld.pid 

接下來可以使用下面的命令來啟動MySQL。

  1. service mysqld start 

在CentOS 7中建議使用下面的命令來啟動MySQL。

  1. systemctl start mysqld 

使用MySQL客戶端工具連接服務(wù)器。

命令行工具:

  1. mysql -u root 

修改超級管理員(root)的訪問口令為i_LOVE_macos_123。

  1. use mysql; 
  2. update user set authentication_string=password('i_LOVE_macos_123'where user='root'
  3. flush privileges

將MySQL配置文件中的skip-grant-tables去掉,然后重啟服務(wù)器,重新登錄。這一次需要提供用戶名和口令才能連接MySQL服務(wù)器。

  1. systemctl restart mysqld 
  2. mysql -u root -p 

也可以選擇圖形化的客戶端工具來連接MySQL服務(wù)器,可以選擇下列工具之一:

  • MySQL Workbench(官方提供的工具)
  • Navicat for MySQL(界面簡單優(yōu)雅,功能直觀強(qiáng)大)
  • SQLyog for MySQL(強(qiáng)大的MySQL數(shù)據(jù)庫管理員工具)

MySQLl命令

MySQL進(jìn)入與退出

mysql –uusername -ppassword (進(jìn)入)

exit (退出)


庫級操作語句

  • 顯示所有的庫:show databases;
  • 創(chuàng)建庫:create database [if not exists] db_name;
  • 刪除庫:drop database [if exists] db_name;
  • 進(jìn)入數(shù)據(jù)庫:use db_name;

表級操作語句

  • 顯示所有的表:show tables;
  • 創(chuàng)建表:create table [if not exists] tb_name (create definition…);
  • 顯示創(chuàng)建表的信息:show create table tb_name;
  • 刪除表:drop table tb_name; 

注意:語句結(jié)束符:「每個語句都以 ; 或者 \G 結(jié)束」

插入數(shù)據(jù)

全字段插入:INSERT INTO tb_name VALUE (all_values); 一般只用這種

查詢數(shù)據(jù)

  • SELECT field_names FROM tb_name;
  • SELECT * FROM tb_name;
  • SELECT field_names FROM tb_name WHERE conditions;

修改數(shù)據(jù)

  • 修改所有數(shù)據(jù):UPDATE tb_name SET field_1=value_1 ;
  • 修改多個:UPDATE tb_name SET field_1=value_1, field_2=value_2 …;
  • 修改滿足條件的數(shù)據(jù):UPDATE tb_name SET field_1=value_1 WHERE conditions;

刪除數(shù)據(jù)

  • 刪除表中所有數(shù)據(jù):DELETE FROM tb_name;
  • 刪除表中滿足條件的數(shù)據(jù):DELETE FROM tb_name WHERE conditions;

 

數(shù)值類型


字符類

 Python連接Mysql

Python連接Mysql,用的是pymysql

  1. import pymysql 
  2.  
  3. config = { 
  4.     'host''127.0.0.1'
  5.     'port': 3306, 
  6.     'user''root'
  7.     'passwd'''
  8.     'charset''utf8'
  9.     'cursorclass': pymysql.cursors.DictCursor 
  10. conn = pymysql.connect(**config) 
  11. conn.autocommit(1) 
  12. cursor = conn.cursor() 
  13.  
  14. try: 
  15.     # 創(chuàng)建數(shù)據(jù)庫 
  16.     DB_NAME = 'test' 
  17.     cursor.execute('DROP DATABASE IF EXISTS %s' % DB_NAME) 
  18.     cursor.execute('CREATE DATABASE IF NOT EXISTS %s' % DB_NAME) 
  19.     conn.select_db(DB_NAME) 
  20.  
  21.     # 創(chuàng)建表 
  22.     TABLE_NAME = 'user' 
  23.     cursor.execute('CREATE TABLE %s(id int primary key,name varchar(30))' % TABLE_NAME) 
  24.  
  25.     # 批量插入紀(jì)錄 
  26.     values = [] 
  27.     for i in range(20): 
  28.         values.append((i, 'kk' + str(i))) 
  29.     cursor.executemany('INSERT INTO user values(%s,%s)'values
  30.  
  31.     # 查詢數(shù)據(jù)條目 
  32.     count = cursor.execute('SELECT * FROM %s' % TABLE_NAME) 
  33.     print('total records:'cursor.rowcount) 
  34.  
  35.     # 獲取表名信息 
  36.     desc = cursor.description 
  37.     print("%s %3s" % (desc[0][0], desc[1][0])) 
  38.  
  39.     cursor.scroll(10, mode='absolute'
  40.     results = cursor.fetchall() 
  41.     for result in results: 
  42.         print(result) 
  43.  
  44. except
  45.     import traceback 
  46.  
  47.     traceback.print_exc() 
  48.     # 發(fā)生錯誤時會滾 
  49.     conn.rollback() 
  50. finally: 
  51.     # 關(guān)閉游標(biāo)連接 
  52.     cursor.close() 
  53.     # 關(guān)閉數(shù)據(jù)庫連接 
  54.     conn.close() 

 【編輯推薦】

 

責(zé)任編輯:姜華 來源: Python之王
相關(guān)推薦

2019-06-03 08:04:43

Apache服務(wù)器命令

2024-02-04 18:08:23

Linux命令工具

2011-03-25 15:56:58

2020-04-29 14:30:35

HTTPHTTPS前端

2013-01-09 13:55:43

2022-09-09 16:38:09

Linux

2021-06-07 12:40:34

Python代碼陷阱

2022-11-04 08:22:14

編譯代碼C語言

2020-10-13 14:15:22

HTTPHTTP請求方法

2013-06-28 14:09:33

PHP庫

2023-05-04 16:10:13

緩存前端

2023-04-26 19:33:01

Linux命令

2020-08-26 07:37:25

Nacos微服務(wù)SpringBoot

2014-08-22 15:00:23

Linux監(jiān)控

2019-06-28 08:56:35

編程語言框架工具

2021-06-26 10:04:23

Code特性技巧

2015-05-07 10:23:19

Android學(xué)習(xí)資源

2024-11-12 14:56:07

2018-04-02 14:33:58

區(qū)塊鏈投資存儲技術(shù)

2020-02-21 10:30:10

開發(fā)技能代碼
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號