python MySQL的常用操作

2021-08-19 20:08:37 字數 4362 閱讀 2253

1.建立庫,表

建庫:create database 庫名;

建表:create table 表名( 列名 資料型別(位數) not null );

如:create table student(id int(10) not null,name varchar(10));

此處為建立乙個名字為student的表,其中有id,name,id的資料型別為整形並且位數最大為10,not null 表示不能為空,

name欄位資料型別為字元型別,位數最大為10;注意char與varchar的區別,前者在寫入欄位後,如果沒有等於位數的最大值,

那麼會在後面補上空格,直至最後。

2.查詢的相關操作

查詢有多少個庫 show databases;

查詢某庫有多少個表 show tables; (需要先進入庫中)

檢視表結構  desc 表名;

查詢表的內容 select * from 表名;(*表示查詢所有字段內容,也可以將*替換為你需要的字段,如下面的例子。)

mysql> select * from sixgod;

+------+--------+

| id   | name   |

+------+--------+

|    1 | sixgod |

|    2 | yjj    |

|    3 | a      |

|    3 | b      |

|    3 | y      |

|   12 | a      |

|   12 | a      |

|  122 | b      |

|  122 | y      |

|  122 | yy     |

|    1 | yyy    |

+------+--------+

11 rows in set (0.00 sec)

mysql> select name from sixgod;

+--------+

| name   |

+--------+

| sixgod |

| yjj    |

| a      |

| b      |

| y      |

| a      |

| a      |

| b      |

| y      |

| yy     |

| yyy    |

+--------+

11 rows in set (0.00 sec)

將查詢到的結果按照某欄位進行公升降序排列  select * from 表名 order by 欄位名 asc/desc;

mysql> select * from sixgod order by id asc;  #(以id進行公升序排列,預設為公升序,asc也可以不寫。)

+------+--------+

| id   | name   |

+------+--------+

|    1 | sixgod |

|    1 | yyy    |

|    2 | yjj    |

|    3 | a      |

|    3 | b      |

|    3 | y      |

|   12 | a      |

|   12 | a      |

|  122 | b      |

|  122 | y      |

|  122 | yy     |

+------+--------+

11 rows in set (0.00 sec)

mysql> select * from sixgod order by id desc; #(以id進行降序排列)

+------+--------+

| id   | name   |

+------+--------+

|  122 | yy     |

|  122 | b      |

|  122 | y      |

|   12 | a      |

|   12 | a      |

|    3 | a      |

|    3 | b      |

|    3 | y      |

|    2 | yjj    |

|    1 | sixgod |

|    1 | yyy    |

+------+--------+

11 rows in set (0.00 sec)

where條件的查詢 select 列名  from 表名 where 條件判斷;

如:查詢name欄位等於a的。

mysql> select * from sixgod where name='a';

+------+------+

| id   | name |

+------+------+

|    3 | a    |

|   12 | a    |

|   12 | a    |

+------+------+

3 rows in set (0.00 sec)

group by 分組:將所有相同的名字分組

mysql> select name,count(name) from sixgod  group by name;(count表示重複的有多少個)

+--------+-----------+

| name   | count(name) |

+--------+-----------+

| a      |         3 |

| b      |         2 |

| sixgod |         1 |

| y      |         2 |

| yjj    |         1 |

| yy     |         1 |

| yyy    |         1 |

+--------+-----------+

limit 分頁顯示 

mysql> select * from sixgod  limit 5;(只顯示5條記錄)

+------+--------+

| id   | name   |

+------+--------+

|    1 | sixgod |

|    2 | yjj    |

|    3 | a      |

|    3 | b      |

|    3 | y      |

+------+--------+

5 rows in set (0.00 sec)

3.增加的相關操作

insert into 表名(欄位名) values(字段對應的值1),(2),(3);如果是一次新增多條記錄則在後面繼續寫

mysql> insert into sixgod(id,name) values(100,'a'); (新增一條id為100,name為a的記錄)

query ok, 1 row affected (0.00 sec)

4.修改的相關操作

update 表名 set 列名='修改後的值' where 列名='值';

mysql> update sixgod set name='aa' where name='a'; 

將name欄位等於a的修改為aa。

5.刪除的相關操作

truncate  表名;只清除資料,不刪除表結構 

drop   表名; 刪除表結構

6.給使用者賦權grant all privileges on *.* to 'user1'@'%' identified by '123456' with grant option;

使用者user1可以對所有的庫,所有的表進行增刪改查等,並且可以對其他使用者進行授權。

grant all privileges on *.* to 'user1'@'%' identified by '123456' ;

使用者user2只可以對所有的庫,所有的表進行增刪改查等。

7.索引

mysql索引的建立對於mysql的高效執行是很重要的,索引可以大大提高mysql的檢索速度。

為表新增索引:create index 庫名_表名_列名1_列名2  on表名(列名1, 列名2);

檢視某錶的索引:show index from 表名;

檢視索引是否被使用到:mysql> explain select * from xuesheng where name='a';(在語句前加上explain)

pyspark dataframe的常用操作

1 列重新命名 train data train data.todf imei pkgname timestamp 2 刪除某一列 df df.drop col 3 選取某些列 train data train data.filter train data.date 2021 03 01 4 自定義...

Oracle data guard常用維護操作命令

data guard是oracle提供的一種高可用性解決方案,用於資料保護和容災,通過日誌同步來把資料及時傳送到備用節點,現總結一下data guard環境下常用的維護命令 1 在生產庫停止data guard操作 sql show parameter log archive dest sql al...

JavaWeb response物件常用操作

方式一response.setcontenttype contenttype 方式二response.setheader content type contenttype response.setcontenttype mime 的作用 讓伺服器告訴瀏覽器它傳送的資料屬於什麼檔案型別,使客戶端瀏覽器...