mysql行 MySQL 行的詳細操作

2021-10-20 23:28:28 字數 4472 閱讀 1005

閱讀目錄

介紹mysql資料操作: dml

在mysql管理軟體中,可以通過sql語句中的dml語言來實現資料的操作,包括

使用insert實現資料的插入

update實現資料的更新

使用delete實現資料的刪除

使用select查詢資料以及。

本節內容包括:

插入資料

更新資料

刪除資料

查詢資料

插入(增加)資料insert

插入完整資料(順序插入)

語法一:

insert into 表名(欄位1,欄位2,欄位3…欄位n) values(值1,值2,值3…值n); #指定欄位來插入資料,插入的值要和你前面的字段相匹配

語法二:

insert into 表名 values (值1,值2,值3…值n); #不指定字段的話,就按照預設的幾個欄位來插入資料

2. 指定字段插入資料

語法:insert into 表名(欄位1,欄位2,欄位3…) values (值1,值2,值3…);

3. 插入多條記錄

語法:#插入多條記錄用逗號來分隔

insert into 表名 values

(值1,值2,值3…值n),

(值1,值2,值3…值n),

(值1,值2,值3…值n);

4. 插入查詢結果

語法:insert into 表名(欄位1,欄位2,欄位3…欄位n)

select (欄位1,欄位2,欄位3…欄位n) from 表2

where …; #將從表2裡面查詢出來的結果來插入到我們的表中,但是注意查詢出來的資料要和我們前面指定的字段要對應好

更新(修改)資料update

語法:update 表名 set

欄位1=值1,  #注意語法,可以同時來修改多個值,用逗號分隔

欄位2=值2,

where condition; #更改哪些資料,通過where條件來定位到符合條件的資料

示例:update mysql.user set password=password(『123』)

where user=』root』 and host=』localhost』; #這句話是對myslq這個庫中的user表中的user欄位為'root'並且host欄位為'localhost'的這條記錄的password欄位的資料進行修改,將                                passord欄位的那個資料改為password('123')這個方法對123加工後的密碼資料,password()這個方法是mysql提供的密碼進行加密用的方法。

定位到某個記錄,並把這個記錄中的某項內容更改掉

刪除資料delete

語法:delete from 表名

where conition; #刪除符合條件的一些記錄

delete from 表名;如果不加where條件,意思是將表裡面所有的內容都刪掉,但是清空所有的內容,一般我們用truncate ,能夠將id置為零,delete不能將id置零,再插入                  資料的時候,會按照之前的資料記錄的id數繼續遞增

示例:delete from mysql.user

where password=』123』;

查詢資料select(重點)

我們在工作中,多數的場景都是對資料的增刪改操作少,讀資料的操作多,所以我們的重點就在讀取資料這裡了。

之前我們說,我們是不是將資料分到多個表中進行儲存,而不是將所有的資料都放到乙個表裡面,例如我們前面所說的部門表和員工表,員工的資訊放到乙個表裡面,部門的資訊放到乙個部門表裡面。

雖然我們把資料分到了不同的表裡面,但是這些資料是不是屬於我們同乙個專案的,也就是說,你將來查詢資料的時候,可能不單單的從一張表裡面來查詢資料,可能涉及到一下查詢出來多個表中的資料,也就是多表關聯查詢,對不對,那麼我們先來把單錶查詢學習一下,再來進行多表查詢的學習,看下面兩個部落格:

許可權管理

#授權表

user #該錶放行的許可權,針對:所有資料,所有庫下所有表,以及表下的所有字段

db #該錶放行的許可權,針對:某一資料庫,該資料庫下的所有表,以及表下的所有字段

tables_priv #該錶放行的許可權。針對:某一張表,以及該錶下的所有字段

columns_priv #該錶放行的許可權,針對:某乙個字段

#按**釋:

user:放行db1,db2及其包含的所有

db:放行db1,及其db1包含的所有

tables_priv:放行db1.table1,及其該錶包含的所有

columns_prive:放行db1.table1.column1,只放行該欄位

#建立使用者

create user 'egon'@'1.1.1.1' identified by '123';

create user'egon'@'192.168.1.%' identified by '123';

create user'egon'@'%' identified by '123';#授權:對資料夾,對檔案,對檔案某一字段的許可權

檢視幫助:help grant

常用許可權有:select,update,alter,delete

all可以代表除了grant之外的所有許可權#針對所有庫的授權:*.*

grant select on *.* to 'egon1'@'localhost' identified by '123'; #只在user表中可以查到egon1使用者的select許可權被設定為y

#針對某一資料庫:db1.*

grant select on db1.* to 'egon2'@'%' identified by '123'; #只在db表中可以查到egon2使用者的select許可權被設定為y

#針對某乙個表:db1.t1

grant select on db1.t1 to 'egon3'@'%' identified by '123'; #只在tables_priv表中可以查到egon3使用者的select許可權

#針對某乙個字段:

mysql> select * fromt3;+------+-------+------+

| id | name | age |

| 1 | egon1 | 18 |

| 2 | egon2 | 19 |

| 3 | egon3 | 29 |

+------+-------+------+grant select (id,name),update (age) on db1.t3 to'egon4'@'localhost' identified by '123';#可以在tables_priv和columns_priv中看到相應的許可權

mysql> select * from tables_priv where user='egon4'\g*************************** 1. row ***************************host: localhost

db: db1

user: egon4

table_name: t3

grantor: root@localhost

timestamp:0000-00-00 00:00:00table_priv:

column_priv: select,update

rowin set (0.00sec)

mysql> select * from columns_priv where user='egon4'\g*************************** 1. row ***************************host: localhost

db: db1

user: egon4

table_name: t3

column_name: id

timestamp:0000-00-00 00:00:00column_priv: select*************************** 2. row ***************************host: localhost

db: db1

user: egon4

table_name: t3

column_name: name

timestamp:0000-00-00 00:00:00column_priv: select*************************** 3. row ***************************host: localhost

db: db1

user: egon4

table_name: t3

column_name: age

timestamp:0000-00-00 00:00:00column_priv: update

rowsin set (0.00sec)#刪除許可權

revoke select on db1.* from 'egon'@'%';

mysql行 MySQL行 記錄 的詳細操作

一 介紹 mysql資料操作 dml 在mysql管理軟體中,可以通過sql語句中的dml語言來實現資料的操作,包括 使用insert實現資料的插入 update實現資料的更新 使用delete實現資料的刪除 使用select查詢資料以及。本節內容包括 插入資料 更新資料 刪除資料 查詢資料 二 插...

mysql行 《Mysql 行模式》

一 總結 預設的行格式定義 innodb default row format 檢視當前資料表行格式 show table status table 建立表指定行格式 create table table row format dynamic 修改錶行格式 alter table table row...

mysql行格式 MySQL 行格式

以 mysql 預設的儲存引擎 innodb 為例 innodb 包含以下四種行格式 compact redundant dynamic compressed 指定行格式 create table 表名 列的資訊 row format 行格式名稱 alter table 表名 row format ...