日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

MySQL中表的操作

發布時間:2025/4/5 数据库 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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)); #創建表class

CREATE TABLE 語句的主要語法及使用說明如下:

  • CREATE TABLE:用于創建給定名稱的表,必須擁有表CREATE的權限。
  • <表名>:指定要創建表的名稱,表名稱可以被指定為 db_name.tbl_name,以便在特定的數據庫中創建表。無論是否有當前數據庫,都可以通過這種方式創建。在當前數據庫中創建表時,可以省略 db-name。有些數據庫可以使用加引號的識別名,例如,‘mydb’.‘mytbl’ 是合法的,但 mysql 是不合法。
create table school.class2(class_id int, class_name varchar(128), class_teacher varchar(64)); #創建表class2 create table ‘school’.’class3’(class_id int, class_name varchar(128), class_teacher varchar(64)); #Error! 會創建失敗
  • <表定義選項>:表創建定義,由列名(col_name)、列的定義(column_definition, 或者叫類型定義)以及可能的空值說明、完整性約束或表索引組成。
use school; #選擇數據庫school create table class4(class_id int PRIMARY KEY, class_name varchar(128) NOT NULL, class_teacher varchar(64) UNIQUE); #創建表class3

注意:

  • 默認的情況是,表被創建到當前的數據庫中。若表已存在、沒有當前數據庫或者數據庫不存在,則會出現錯誤。
  • 提示:使用 CREATE TABLE 創建表時,必須注意以下信息:
    • 要創建的表的名稱不區分大小寫,不能使用SQL語言中的關鍵字,如DROP、ALTER、INSERT等。
    • 數據表中每個列(字段)的名稱和數據類型,如果創建多個列,要用逗號隔開。

列名的命名規范:

  • 采用26字母和0-9的自然數加上下互相 ‘_’ 組成,命名簡潔明確,多個單詞用下劃線 ‘_’ 隔開。
  • 全部小寫命名,盡量避免出現大寫。
  • 字段必須填寫描述信息。
  • 禁止使用數據庫關鍵字。
  • 字段名稱一般采用名詞或動賓短語。
  • 采用字段的名字必須是易于理解,一般不超過三個英文單詞。
  • 在命名表的列時,不要重復表的名稱(如:在 user 表中,出現 user_name 字段)。
  • 字段命名使用完整名稱。
  • 表的創建實例:
    創建一個用戶信息表,用來存儲用戶的如下信息:姓名,手機號碼,家庭地址,個人簡介,性別,年齡,身份證號。數據庫表名可定義為userinfo, 同時增加一個列id 用來作為每一條記錄的唯一標識,并設為主鍵,自加!

    mysql> use test; #選擇數據庫test mysql> create table userinfo (id int(11) unsigned NOT NULL PRIMARY KEY AUTO_INCREMENT COMMENT ‘主鍵’,name varchar(64) DEFAULT NULL COMMENT ‘姓名’,mobile char(11) DEFAULT NULL COMMENT ‘手機號碼’,address varchar(128) DEFAULT NULL COMMENT ‘居住地址’,description text DEFAULT NULL COMMENT ‘個人簡介-不知道具體的范圍,不常更新用text,sex char(1) DEFAULT NULL COMMENT ‘性別 - 男或女’,age tinyint unsigned DEFAULT 0 COMMENT ‘年齡’,idno char(18) DEFAULT NULL COMENT ‘身份證號碼’ );

    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 字段刪除匹配的所有記錄

    參考資料:

  • C/C++從入門到精通-高級程序員之路【奇牛學院】
  • 總結

    以上是生活随笔為你收集整理的MySQL中表的操作的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。