閱讀目錄
介紹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 ...