搜尋
首頁資料庫mysql教程mysql資料表操作實例詳解

mysql資料表操作實例詳解

Mar 15, 2018 am 10:49 AM
mysql數據表詳解

本文主要和大家分享mysql資料表操作實例詳解,希望能幫助大家,首先我們先來看看如何建立資料表。

建立表格

  • 基本語法形式:

create table 【if not exists】 表名(字段列表【,索引或約束列表】) 【表選項列表】;

  • 字段設定形式:

欄位名稱  類型  【字段屬性1  字段屬性2  …..】

說明:
1. 字段名稱可以自行取;
2.類型是前面所學的資料型態:int,  tinyint,  float,  double,  char(6),  varchar(25),  text,  datetime。
3. 欄位屬性可以有多個(依照特定的需要),彼此之間直接空格隔開;主要如下幾個:

##屬性名稱意義auto_increment:只用於整數類型,讓該欄位的值自動獲得一個成長值。通常用於做一個表格的第一個欄位的設定,通常也當做主鍵(primary key)#primary  key:用於設定該欄位為主鍵,此時該欄位的值就可以「唯一確定」一行資料#unique  key:設定該欄位是「唯一的」,也就是不重複的。 not  null:用於設定該欄位不能為空(null),如果沒有設定,則預設是可為空的。 comment :欄位說明文字
#索引

  • 索引是系統內部自動維護的隱藏的“資料表”,它的作用是,可以大大加快資料的查找速度!

  • 這個隱藏的資料表,其中的資料是自動排好序的,其查找速度就是建立在這個基礎上。

形式為:

索引类型(要建立索引的字段名)

#索引類型形式意思普通索引key(欄位名稱)就是一個索引而已,沒有其他作用,只能加快尋找速度唯一索引unique  key(欄位名稱)是索引,而且還可以設定其欄位的值不能重複(唯一性)主鍵索引primary  key (欄位名稱)是索引,而且,還具有區分該表中的任何一行資料的功能(其實也是唯一性),它其實比唯一性索引多一點功能:唯一性可以為空null,而主鍵不能為空全文索引fulltext (欄位名稱)外鍵索引foreign  key(欄位名稱)references  其他資料表(對應其他表格中的欄位名稱)

索引创建语法:

mysql資料表操作實例詳解

外键索引:

foreign  key (字段名) references  其他表(对应其他表中的字段名);

外键:表中的一个字段不是本表的主键或候选键,而是另一个表的主键或候选键。
 候选键或候选键:如果一个表中具有能够唯一标识的一个行的属性,则称为候选键,候选键中任选一个为主键。

mysql資料表操作實例詳解

示例:
mysql資料表操作實例詳解

注意: 插入xuesheng表中的数据时,banji_id字段的值,就不可以随便插入了,而是必须是banji表中的id字段所已经有的数据值,才可以插入。

全文索引:仅做了解,因为对中文还不够友好

一、概述
       MySQL中的全文检索是利用查询关键字和查询列内容之间的相关度进行检索,可以利用全文索引来提高匹配的速度。
 二、语法
MATCH (col1,col2,...) AGAINST (expr [search_modifier])
search_modifier: { IN BOOLEAN MODE | WITH QUERY EXPANSION }
       例如:SELECT * FROM tab_name WHERE MATCH (col1,col2) AGAINST (search_word);
       这里的table需要是MyISAM类型的表,col1、col2需要是char、varchar或text类型,在查询之前需要在col1和col2上建立一个全文索引。


约束

约束,就是要求数据需要满足什么条件的一种“规定”。


约束类型 形式 含义
主键约束 primary key ( 字段名) 使该设定字段的值可以用于“唯一确定一行数据”,其实就是“主键”的意思。
唯一约束 unique   key ( 字段名) 使该设定字段的值具有“唯一性”,自然也是可区分的。
外键约束 foreign key ( 字段名) references  其他表名(对应其他表中的字段名) 使该设定字段的值,必须在其谁定的对应表中的对应字段中已经有该值了。
非空约束 not  null 其实就是设定一个字段时写的那个“not null”属性。这个约束只能写在字段属性上
默认约束 default  XX值 其实就是设定一个字段时写的那个“default  默认值”属性,这个约束只能写在字段属性上。
检查约束 check(某种判断语句)

比如:

create  table  tab1 (
age  tinyint,check  (age>=0 and age <100)    /*这就是检查约束*/ 
)#目前相关版本还不支持,就是说只分析,但会被忽略。

其实,主键约束,唯一约束,外键约束,只是“同一件事情的2个不同角度的说法”,他们同时也称为“主键索引”,“唯一索引”,“外键索引”。


表选项列表

表选项就是,创建一个表的时候,对该表的整体设定,主要有如下几个:
 1、 charset = 要使用的字符编码,
 2、 engine = 要使用的存储引擎(也叫表类型),
 3、auto_increment = 设定当前表的自增长字段的初始值,默认是1
  4、comment =‘该表的一些说明文字’


说明:
  1,设定的字符编码是为了跟数据库设定的不一样。如果一样,就不需要设定了:因为其会自动使用数据库级别的设定;
 2,engine(存储引擎)在代码层面,就是一个名词:InnoDB, MyIsam, BDB, archive, Memory。默认是InnoDB。


存储引擎

存储引擎是将数据存储到硬盘的“机制”。

不同的存储引擎,其实主要是从2个大的层面来设计存储机制:

  • 尽可能快的速度;

  • 尽可能多的功能;

选择不同的存储引擎,就是上述性能和功能的“权衡”。

大体如下:
mysql資料表操作實例詳解

演示:
mysql資料表操作實例詳解


修改表

几点说明:

  • 修改表,是指修改表的结构——正如创建表也是设定表的结构。

  • 创建表能做的事,修改表几乎都能做——但很不推荐去修改表,而是应该在创建表的时候就基本确定表的结构。

  • 大体来说:
    1:可以对字段进行:添加,删除,修改;
    2:可以对索引进行:添加,删除

  • 表的选项,通常“都是修改”,即使不写任何表选项,他们都有其默认值。

常见几个:

操作类型 表达式
添加字段 alter  table 表名 add  [column] 新字段名 字段类型  [字段属性列表]
修改字段(并可改名) alter  table 表名 change [column] 旧字段名 新字段名 新字段类型 [新字段属性列表]
删除字段 alter  table  表名 drop  [column] 字段名
添加普通索引 alter  table 表名 add  key  [索引名]  (字段名1[,字段名2,…])
添加唯一索引(约束) alter table 表名 add unique key (字段名1[,字段名2,…])
添加主键索引(约束) alter table 表名 add primary key (字段名1[,字段名2,…])
修改表名 alter  table  旧表名   rename  [to] 新表名
删除表 drop  table  【if  exists】 表名

其他表的相关语句:

操作类型 表达式
显示当前数据库中的所有表 show tables
显示某表的结构 desc 表名; 或:describe 表名
显示某表的创建语句 show create table 表名
重命名表 rename table 旧表名 to 新表名
从已有表复制表结构 create table [if not exists] 新表名 like 原表名

演示复制表结构:

  • 创建表tab_int,显示表创建语句

mysql資料表操作實例詳解

  • 将tab_int复制给tab_int_bak,显示tab_int_bak表创建语句,与tab_int一致
    mysql資料表操作實例詳解

相关推荐:

查看MySQL数据表的索引方法

MySQL数据表的创建、查看、插入实例详解

关于MySQL数据表操作的详解

以上是mysql資料表操作實例詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
MySQL:初學者的基本技能MySQL:初學者的基本技能Apr 18, 2025 am 12:24 AM

MySQL適合初學者學習數據庫技能。 1.安裝MySQL服務器和客戶端工具。 2.理解基本SQL查詢,如SELECT。 3.掌握數據操作:創建表、插入、更新、刪除數據。 4.學習高級技巧:子查詢和窗口函數。 5.調試和優化:檢查語法、使用索引、避免SELECT*,並使用LIMIT。

MySQL:結構化數據和關係數據庫MySQL:結構化數據和關係數據庫Apr 18, 2025 am 12:22 AM

MySQL通過表結構和SQL查詢高效管理結構化數據,並通過外鍵實現表間關係。 1.創建表時定義數據格式和類型。 2.使用外鍵建立表間關係。 3.通過索引和查詢優化提高性能。 4.定期備份和監控數據庫確保數據安全和性能優化。

MySQL:解釋的關鍵功能和功能MySQL:解釋的關鍵功能和功能Apr 18, 2025 am 12:17 AM

MySQL是一個開源的關係型數據庫管理系統,廣泛應用於Web開發。它的關鍵特性包括:1.支持多種存儲引擎,如InnoDB和MyISAM,適用於不同場景;2.提供主從復制功能,利於負載均衡和數據備份;3.通過查詢優化和索引使用提高查詢效率。

SQL的目的:與MySQL數據庫進行交互SQL的目的:與MySQL數據庫進行交互Apr 18, 2025 am 12:12 AM

SQL用於與MySQL數據庫交互,實現數據的增、刪、改、查及數據庫設計。 1)SQL通過SELECT、INSERT、UPDATE、DELETE語句進行數據操作;2)使用CREATE、ALTER、DROP語句進行數據庫設計和管理;3)複雜查詢和數據分析通過SQL實現,提升業務決策效率。

初學者的MySQL:開始數據庫管理初學者的MySQL:開始數據庫管理Apr 18, 2025 am 12:10 AM

MySQL的基本操作包括創建數據庫、表格,及使用SQL進行數據的CRUD操作。 1.創建數據庫:CREATEDATABASEmy_first_db;2.創建表格:CREATETABLEbooks(idINTAUTO_INCREMENTPRIMARYKEY,titleVARCHAR(100)NOTNULL,authorVARCHAR(100)NOTNULL,published_yearINT);3.插入數據:INSERTINTObooks(title,author,published_year)VA

MySQL的角色:Web應用程序中的數據庫MySQL的角色:Web應用程序中的數據庫Apr 17, 2025 am 12:23 AM

MySQL在Web應用中的主要作用是存儲和管理數據。 1.MySQL高效處理用戶信息、產品目錄和交易記錄等數據。 2.通過SQL查詢,開發者能從數據庫提取信息生成動態內容。 3.MySQL基於客戶端-服務器模型工作,確保查詢速度可接受。

mysql:構建您的第一個數據庫mysql:構建您的第一個數據庫Apr 17, 2025 am 12:22 AM

構建MySQL數據庫的步驟包括:1.創建數據庫和表,2.插入數據,3.進行查詢。首先,使用CREATEDATABASE和CREATETABLE語句創建數據庫和表,然後用INSERTINTO語句插入數據,最後用SELECT語句查詢數據。

MySQL:一種對數據存儲的初學者友好方法MySQL:一種對數據存儲的初學者友好方法Apr 17, 2025 am 12:21 AM

MySQL適合初學者,因為它易用且功能強大。 1.MySQL是關係型數據庫,使用SQL進行CRUD操作。 2.安裝簡單,需配置root用戶密碼。 3.使用INSERT、UPDATE、DELETE、SELECT進行數據操作。 4.複雜查詢可使用ORDERBY、WHERE和JOIN。 5.調試需檢查語法,使用EXPLAIN分析查詢。 6.優化建議包括使用索引、選擇合適數據類型和良好編程習慣。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 個月前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
1 個月前By尊渡假赌尊渡假赌尊渡假赌
威爾R.E.P.O.有交叉遊戲嗎?
1 個月前By尊渡假赌尊渡假赌尊渡假赌

熱工具

VSCode Windows 64位元 下載

VSCode Windows 64位元 下載

微軟推出的免費、功能強大的一款IDE編輯器

MantisBT

MantisBT

Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強大的PHP整合開發環境

Dreamweaver Mac版

Dreamweaver Mac版

視覺化網頁開發工具

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。