Python進階_mysql(1)

來源:互聯網
上載者:User

標籤:分享圖片   databases   浮點型   之一   可變   書籍   通過   浮點   許可權   

什麼是資料庫?

資料庫(Database)是按照資料結構來組織、儲存和管理資料的倉庫,每個資料庫都有一個或多個不同的API用於建立,訪問,管理,搜尋和複製所儲存的資料。

進入mysql (linux 操作資料庫) 
本地串連:mysql -u使用者名稱 -p輸入密碼 qwe123mysql -uroot -pqwe123

建立使用者

 建立使用者即建立一個資料庫

#建立使用者mysql> CREATE USER ‘jianeng‘@‘%‘ IDENTIFIED \q\BY ‘qwe123‘;#給使用者賦予許可權mysql> GRANT ALL  ON *.* TO ‘jianeng‘@‘%‘;#使更改立即生效mysql> FLUSH PRIVILEGES;#退出mysql> \q

查看在哪個資料庫裡:SELECT DATABASE(); 大廳 null

查看目前使用者:SELECT USER();

查看有哪些資料庫:SHOW DATABASES; # mysql 有哪些資料庫

 

我們通過一張圖來開始資料庫的相關操作

 

首先我們需要建立一個history_book的資料庫

create database [if not exists]`db_name`;
mysql>create database [if not exists]`history_book`;
Query OK, 1 row affected (0.00 sec)
mysql>create database [if not exists]`history_book`;
ERROR 1007 (HY000): Can‘t create database ‘mydb‘; database exists

這時候,我們完成了建立一個history_book的一個圖書館。如果存在相=相同名字的資料庫的話會報錯

我們會查看資料庫裡面的內容: show databases;

mysql> SHOW DATABASES;
+--------------------+| Database |+--------------------+| information_schema | | mysql || performance_schema || sys || history_book |+--------------------+

這時會發現建立的資料庫已經存在了

對於不需要的資料庫我們需要刪除資料庫

drop database [if exists] `db_name`;

注意:SQL語句必須以分號結尾    mysql不區分大小寫

 

現在我們可以進入我們建立的資料庫了:

use db_name;

我們可以查看資料庫裡面的資訊:

select database();

後會發現當前並沒有進入到某個資料庫中,需要使用use來進入某個資料庫中。

mysql> use history_book;Database changedmysql> select database();+--------------+| database()   |+--------------+| history_book |+--------------+1 row in set (0.00 sec)

 我們只是建立了一個資料庫,但裡面什麼也沒有。相當於我們建立了一個空的圖書館。

我們需要做的就是想空的圖書館裡面放書架(即 為history_book 建立表)

建立資料表

create table [if not exists] table(id int , name  varchai(20));

mysql> create table tang_book(    -> id int,    -> name varchar(20));Query OK, 0 rows affected (0.03 sec)mysql> create table song_book( id int, name varchar(20));Query OK, 0 rows affected (0.06 sec)mysql> create table qing_book( id int, name varchar(20));Query OK, 0 rows affected (0.04 sec)

我們為history_book 建立了書架。

查看history_book的書架。

查看資料庫中的表

資料表(或稱表)是資料庫最重要的組成部分之一,是其他對象的基礎

查看資料表列表SHOW TABLES [FROM db_name]

SHOW TABLES查看當前資料庫中的資料表。

SHOW TABLES FROM ‘mysql‘查看mysql這個資料庫中的資料表。

mysql> show tables from history_book;+------------------------+| Tables_in_history_book |+------------------------+| qing_book              || song_book              || tang_book              |+------------------------+3 rows in set (0.00 sec)

資料類型:INT 整數類型    VARCHAR 變長字串

 

查看書架(表)的結構

查看建立的表:

SHOW CREATE TABLE tb_name;(\G) 表的建立詳情

mysql> mysql> show create table tang_book;+-----------+-----------------------------------------------| Table     | Create Table                                  +-----------+-----------------------------------------------| tang_book | CREATE TABLE `tang_book` (  `id` int(11) DEFAULT NULL,  `name` varchar(20) DEFAULT NULL) ENGINE=InnoDB DEFAULT CHARSET=utf8 |+-----------+-----------------------------------------------1 row in set (0.00 sec)

 

查看錶的結構:

desc tb_name;

mysql> desc tang_book;+-------+-------------+------+-----+---------+-------+| Field | Type        | Null | Key | Default | Extra |+-------+-------------+------+-----+---------+-------+| id    | int(11)     | YES  |     | NULL    |       || name  | varchar(20) | YES  |     | NULL    |       |+-------+-------------+------+-----+---------+-------+2 rows in set (0.00 sec)

刪除表:

drop table tablename;

到目前為止,我們發現我們只是搭建了一個曆史圖書館和幾個書架,沒有一本書。即我們沒有存入一個資料。接下來,我們就要為我們的圖書館存入書籍。

單表中資料的增、刪、查、改INSERT 插入資料

方法一:

INSERT [INTO] table_name [(column_name,...)] 
{VALUES|VALUE} ({expr|DEFAULT},...),(...),...;

方法二:

INSERT [INTO] tbl_name SET col_name={expr|DEFAULT},...in

SELECT 查詢資料

 SELECT * FROM tab_name [WHERE];

mysql> insert into tang_book(id,name) values(1,‘book_1‘),    -> (2,‘book‘),    -> (3,‘book_3‘),    -> (4,‘book_4‘);Query OK, 4 rows affected (0.07 sec)Records: 4  Duplicates: 0  Warnings: 0mysql> select * from tang_book;+------+--------+| id   | name   |+------+--------+|    1 | book_1 ||    2 | book   ||    3 | book_3 ||    4 | book_4 |+------+--------+4 rows in set (0.01 sec)

當發現表中資料有問題的時候我們可以更新表中的資料

UPDATE 更新資料

UPDATE tb_name
SET col_name1={expr1|DEFAULT}[,col_name2

={expr2|DEFAULT}]...
[WHERE where_condition];

mysql> update tang_book set name=‘book_2‘ where id=2;Query OK, 1 row affected (0.02 sec)Rows matched: 1  Changed: 1  Warnings: 0mysql> select * from tang_book;+------+--------+| id   | name   |+------+--------+|    1 | book_1 ||    2 | book_2 ||    3 | book_3 ||    4 | book_4 |+------+--------+4 rows in set (0.01 sec)
DELETE 刪除資料

DELETE FROM tbl_name [WHERE where_conditon]; 

一定要注意:不添加WHERE則會刪除全部記錄, 很危險

 

下面介紹一下mysql中的資料類型

# mysql 資料類型整型   浮點型   日期類型   字元型mysql> create table tb2(    -> id INT,    -> name VARCHAR(20),     #指定長度,最多65535個字元。   ***變長      -> sex CHAR(4),         #指定長度,最多255個字元。     ***定長    -> price DOUBLE(4,2),    #雙精確度浮點型,m總個數,d小數位      -> detail text,            #可變長度,最多65535個字元    -> dates DATETIME,        #日期時間類型 YYYY-MM-DD HH:MM:SS    -> ping  ENUM(‘好評‘,‘差評‘)  #枚舉, 在給出的value中選擇    -> );

 

 

 

 

 

 

 

 

 

 

Python進階_mysql(1)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.