MySQL中表的操作
文章目錄
- 1 表的創建
- 2 表的查詢
- 3 表記錄的插入
- 3.1 插入完整數據記錄
- 3.2 插入部分數據記錄
- 3.3 插入多條數據記錄
- 4 表記錄的更新
- 4.1 更新特定數據記錄
- 4.2 更新所有數據記錄
- 5 表記錄的刪除
- 5.1 刪除特定數據記錄
- 5.2 刪除所有數據記錄
在MySQL數據庫中,表是一種很重要的數據庫對象,是組成數據庫的基本元素,由若干個字段組成,主要用來實現存儲數據記錄。表的操作包含創建表、查詢表、修改表和刪除表,這些操作是數據庫對象的表管理中最基本也是最重要的操作。
1 表的創建
基本語法:
- CREATE TABLE <表名> ([表定義選項])[表選項][分區選項];
其中,[表定義選項]的格式為:
- <列名1> <類型1> [,…] <列名n> <類型n>
CREATE TABLE 命令語法比較多,其主要是由表創建定義(create-definition)、表選項(table-options)和分區選項(partition-options)所組成的。這里主要介紹表定義選項。
use school; #選擇數據庫school create table class1(class_id int, class_name varchar(128), class_teacher varchar(64)); #創建表classCREATE TABLE 語句的主要語法及使用說明如下:
- CREATE TABLE:用于創建給定名稱的表,必須擁有表CREATE的權限。
- <表名>:指定要創建表的名稱,表名稱可以被指定為 db_name.tbl_name,以便在特定的數據庫中創建表。無論是否有當前數據庫,都可以通過這種方式創建。在當前數據庫中創建表時,可以省略 db-name。有些數據庫可以使用加引號的識別名,例如,‘mydb’.‘mytbl’ 是合法的,但 mysql 是不合法。
- <表定義選項>:表創建定義,由列名(col_name)、列的定義(column_definition, 或者叫類型定義)以及可能的空值說明、完整性約束或表索引組成。
注意:
- 默認的情況是,表被創建到當前的數據庫中。若表已存在、沒有當前數據庫或者數據庫不存在,則會出現錯誤。
- 提示:使用 CREATE TABLE 創建表時,必須注意以下信息:
- 要創建的表的名稱不區分大小寫,不能使用SQL語言中的關鍵字,如DROP、ALTER、INSERT等。
- 數據表中每個列(字段)的名稱和數據類型,如果創建多個列,要用逗號隔開。
列名的命名規范:
表的創建實例:
創建一個用戶信息表,用來存儲用戶的如下信息:姓名,手機號碼,家庭地址,個人簡介,性別,年齡,身份證號。數據庫表名可定義為userinfo, 同時增加一個列id 用來作為每一條記錄的唯一標識,并設為主鍵,自加!
2 表的查詢
查看所有的表:
- show tables;
查看表創建的詳細信息:
- show create table class;
查看表的詳細信息:
- desc class;
3 表記錄的插入
插入數據記錄是常見的數據操作,可以顯式向表中增加的新的數據記錄。在MySQL中可以通過“INSERT INTO”語句來實現插入數據記錄,該SQL語句可以通過如下4種方式使用:插入完整數據記錄、插入部分數據記錄、插入多條數據記錄和插入JSON結構的數據記錄。
3.1 插入完整數據記錄
在MySQL中插入完整的數據記錄可通過SQL語句INSERT來實現,其語法形式如下:
INSERT INTO tablename(field1, field2, field3, ..., fieldn) VALUES(value1, value2, value3, ..., valuen);可以縮寫為:
INSERT INTO tablename VALUES(value1, value2, value3, ..., valuen);參數:tablename表示所要插入完整記錄的表名,參數fieldn表示表中的字段名字,參數valuen表示所 要插入的數值,并且參數fieldn與參數valuen一一對應。
mysql> create database school; #創建數據庫school mysql> use school; #選擇數據庫school mysql> create table class(id int, name varchar(128) UNIQUE, teacher varchar(64)); #創建表class, 并建立包含id,teacher字段的多列索引 mysql> show create table class; #查看表定義 mysql> insert into class(id, name, teacher) values(1, '一班', 'Martin'); # 插入完整記錄 mysql> insert into class values(2, '二班', 'Rock'); # 方式二,完整插入可縮寫3.2 插入部分數據記錄
語法形式:
INSERT INTO tablename(field1, field2, field3, ..., fieldn) VALUES(value1, value2, value3, ..., valuen);注意: 如果域沒有設定默認值,也沒有設定為自增長,則插入記錄時必須插入值。
mysql> create database school; #創建數據庫school mysql> use school; #選擇數據庫school mysql> create table class(id int UNIQUE AUTO_INCREMENT, name varchar(128) UNIQUE, teacher varchar(64)); #創建表class,指定id 字段自增長 mysql> show create table class; #查看表定義 mysql> insert into class(id, name, teacher) values(1, '一班', 'Martin'); # 插入完整記錄 mysql> insert into class (name, teacher)values('二班', 'Rock'); # 插入部分記錄3.3 插入多條數據記錄
語法形式:
INSERT INTO tablename(field1, field2, field3, ..., fieldn) VALUES(value11, value12, value13, ..., value1n), (value21, value22, value23, ..., value2n), ... .... (valuen1, valuen2, valuen3, ..., valuenn);舉例:
mysql> create database school; #創建數據庫school mysql> use school; #選擇數據庫school mysql> create table class(id int UNIQUE AUTO_INCREMENT, name varchar(128) UNIQUE, teacher varchar(64)); #創建表class,指定id 字段自增長 mysql> show create table class; #查看表定義 mysql> insert into class(id, name, teacher) values(1, '一班', 'Martin'),(2,'二班', 'Rock'),(3, '三班', 'Janny'); # 插入多條記錄4 表記錄的更新
更新數據記錄是數據操作中常見的操作,可以更新表中已經存在數據記錄中的值。在MySQL中可以通過UPDATE語句來實現更新數據記錄,該SQL語句可以通過如下幾種方式使用:更新特定數據記錄、更新所有數據記錄、更新JSON結構的數據記錄。
4.1 更新特定數據記錄
在MySQL中更新特定數據記錄可通過SQL語句UPDATE來實現,其語法形式如下:
UPDATE tablename SET field1 = value1, field2 = value2, field3 = value3, ..., fieldn = valuen) WHERE CONDITION; # 或 UPDATE tablename SET field1 = value1, field2 = value2, field3 = value3, ..., fieldn = valuen) ;在上述語句中,參數tablename表示所要更新數據記錄的表名,參數field表示表中所要更新數值的字段名字,參數valuen表示更新后的數值,參數CONDITION表示滿足表tablename中的所有數據記錄,或不使用關鍵字WHERE語句。
舉例:
mysql> create database school; #創建數據庫school mysql> use school; #選擇數據庫school mysql> create table class(id int UNIQUE AUTO_INCREMENT, name varchar(128) UNIQUE, teacher varchar(64)); #創建表class,指定id 字段自增長 mysql> insert into class(id, name, teacher) values(1, '一班', 'Martin'),(2,'二班', 'Rock'),(3, '三班', 'Janny'); # 插入多條記錄 mysql> update class set teacher = '如花老師' ; #把所有記錄的teacher列改成如花老師 #或 mysql> update class set teacher = '如花老師' where 1=1;4.2 更新所有數據記錄
在MySQL中更新特定數據記錄可通過SQL語句UPDATE來實現,其語法形式如下:
UPDATE tablename SET field1 = value1, field2 = value2, field3 = value3, ..., fieldn = valuen) WHERE CONDITION; # 或 UPDATE tablename SET field1 = value1, field2 = value2, field3 = value3, ..., fieldn = valuen) ;在上述語句中,參數tablename表示所要更新數據記錄的表名,參數field表示表中所要更新數值的字段名字,參數valuen表示更新后的數值,參數CONDITION表示滿足表tablename中的所有數據記錄,或不使用關鍵字WHERE語句。
mysql> create database school; #創建數據庫school mysql> use school; #選擇數據庫school mysql> create table class(id int UNIQUE AUTO_INCREMENT, name varchar(128) UNIQUE, teacher varchar(64)); #創建表class,指定id 字段自增長 mysql> insert into class(id, name, teacher) values(1, '一班', 'Martin'),(2,'二班', 'Rock'),(3, '三班', 'Janny'); # 插入多條記錄 mysql> update class set teacher = '如花老師' ; #把所有記錄的teacher列改成如花老師 或 mysql> update class set teacher = '如花老師' where 1=1;5 表記錄的刪除
刪除數據記錄是數據操作中常見的操作,可以刪除表中已經存在的數據記錄。在MySQL中可以通過DELETE語句來刪除數據記錄,該SQL語句可以通過以下幾種方式使用:刪除特定數據記錄、刪除所有數據記錄。
5.1 刪除特定數據記錄
在MySQL中刪除特定數據記錄可通過SQL語句DELETE來實現,其語法形式如下:
DELETE FROM tablename WHERE CONDITION;在上述語句中,參數tablename表示所要刪除數據記錄的表名,參數CONDITION指定刪除滿足條件的特定數據記錄。
mysql> create database school; #創建數據庫school mysql> use school; #選擇數據庫school mysql> create table class(id int UNIQUE AUTO_INCREMENT, name varchar(128) UNIQUE, teacher varchar(64)); #創建表class,指定id 字段自增長 mysql> insert into class(id, name, teacher) values(1, '一班', 'Martin'),(2,'二班', 'Rock'),(3, '三班', 'Janny'); # 插入多條記錄 mysql> delete from class where teacher = 'Martin'; #通過teacher字段刪除記錄 或 mysql> delete from class where id = 1; #通過id 字段刪除匹配的記錄5.2 刪除所有數據記錄
在MySQL中刪除所有數據記錄同樣可通過SQL語句DELETE來實現,其語法形式如下:
DELETE FROM tablename WHERE CONDITION; # 或 DELETE FROM tablename;在上述語句中,為了刪除所有的數據記錄,參數CONDITION需要滿足表tablename中所有數據記錄,如id>0; 或者無關鍵字WHERE語句。
mysql> create database school; #創建數據庫school mysql> use school; #選擇數據庫school mysql> create table class(id int UNIQUE AUTO_INCREMENT, name varchar(128) UNIQUE, teacher varchar(64)); #創建表class,指定id 字段自增長 mysql> insert into class(id, name, teacher) values(1, '一班', 'Martin'),(2,'二班', 'Rock'),(3, '三班', 'Janny'); # 插入多條記錄 mysql> delete from class ; #直接刪除所有記錄 或 mysql> delete from class where id > 0; #通過id 字段刪除匹配的所有記錄參考資料:
總結
以上是生活随笔為你收集整理的MySQL中表的操作的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 烫伤后可以涂牙膏或酱油吗?
- 下一篇: MySQL中的整数类型