MySQL實(shí)現(xiàn)簡(jiǎn)單的創(chuàng)建庫(kù)和創(chuàng)建表操作方法
1.操作數(shù)據(jù)庫(kù)
1.1創(chuàng)建數(shù)據(jù)庫(kù)
MySQL中創(chuàng)建數(shù)據(jù)庫(kù)的基本SQL語(yǔ)法格式如下:
語(yǔ)法
CREATE DATABASE 數(shù)據(jù)庫(kù)名稱;
在MySQL中,以英文半角分好(;)作為一條命令的結(jié)束符,且在Windows系統(tǒng)下,默認(rèn)不區(qū)分大小寫.
提示:
通過執(zhí)行SQL語(yǔ)句的結(jié)果發(fā)現(xiàn),下面有幾行提示:
1、第一行表示執(zhí)行的命令
2、第二行表示執(zhí)行的結(jié)果,OK或受影響表示成功。
3、第三行表示執(zhí)行時(shí)間
1.2 查看數(shù)據(jù)庫(kù)
執(zhí)行查看數(shù)據(jù)庫(kù)命令可以查看已經(jīng)存在的數(shù)據(jù)庫(kù)表。
語(yǔ)法:
SHOW DATABASES;
執(zhí)行結(jié)果如下:
從結(jié)果發(fā)現(xiàn),執(zhí)行該語(yǔ)句之后,會(huì)顯示一個(gè)列表,該列表除了有新建的數(shù)據(jù)庫(kù)之外,還有別的數(shù)據(jù)庫(kù)。
1.3 選擇數(shù)據(jù)庫(kù)
數(shù)據(jù)是存在數(shù)據(jù)庫(kù)表中的,在對(duì)數(shù)據(jù)進(jìn)行操作之前,想要確定該表所以的數(shù)據(jù)庫(kù),因此需要選擇一個(gè)數(shù)據(jù)庫(kù)。
語(yǔ)法:
USE 數(shù)據(jù)庫(kù)名稱;
從結(jié)果中可以看出,如果選擇的數(shù)據(jù)庫(kù)不存在則會(huì)報(bào)錯(cuò),如果存在且用戶有權(quán)限訪問,我這里提示受影響,有的是提示OK,即數(shù)據(jù)庫(kù)已經(jīng)切換。
1.4 刪除數(shù)據(jù)庫(kù)
語(yǔ)法:
DROP DATABASE 數(shù)據(jù)庫(kù)名稱;
2.操作數(shù)據(jù)表
2.1創(chuàng)建表
創(chuàng)建數(shù)據(jù)庫(kù)表的步驟如下:
(1)確定表中有哪些字段
(2)確定每個(gè)字段的數(shù)據(jù)類型
(3)給表添加各種約束
在確定了數(shù)據(jù)庫(kù)之后,可以使用SQL語(yǔ)句創(chuàng)建表結(jié)構(gòu)。
創(chuàng)建表語(yǔ)法如下:
CREATE TABLE [IF NOT EXISTS] table_name( # IF NOT EXISTS是判斷表存不存在,防止報(bào)錯(cuò) 字段1 數(shù)據(jù)類型[字段屬性,約束], 字段2 數(shù)據(jù)類型[字段屬性,約束], 字段3 數(shù)據(jù)類型[字段屬性,約束] )[表類型][表字符集][注釋];
注意:
- 在MySQL中,如果使用的數(shù)據(jù)庫(kù)名、表名或者字段名與保留字相沖突時(shí),需使用撇號(hào)(`)括起來;
- 使用CREATE table 語(yǔ)句創(chuàng)建表時(shí),多字段之間使用逗號(hào)(,)隔開,最后一個(gè)字段無需逗號(hào)。
- MySQL中常用的兩種注釋方式:
- 單行注釋:#。。。
- 多行注釋: /*......*/
- 表中的字段,也可以稱為列。
學(xué)生信息表的結(jié)構(gòu)
字段名稱 | 數(shù)據(jù)類型 | 長(zhǎng)度 | 備注 |
學(xué)員編號(hào) | 字符串類型 | 12 | 主鍵,不為空 |
姓名 | 字符串類型 | 64 | 不為空 |
年齡 | 整形 | 不為空 | |
家庭地址 | 字符串類型 | 200 | ‘xxxxxx’ |
電話號(hào)碼 | 字符串類型 | 11 | 不為空 |
演示代碼:
CREATE TABLE `學(xué)員信息表`( `學(xué)員編號(hào)`varchar(12) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL, `姓名`varchar(64) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL, `年齡`int(12) DEFAULT NULL, `家庭地址`varchar(200) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL, `電話號(hào)碼`varchar(11) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL, PRIMARY KEY(`學(xué)員編號(hào)`)USING BTREE )
2.2修改表
注意在修改表之前,使用SHOW TABLE語(yǔ)句查看該數(shù)據(jù)庫(kù)中是否存在該表。
2.2.1修改表名稱
在一個(gè)數(shù)據(jù)庫(kù)中,表名是唯一的??梢酝ㄟ^SQL語(yǔ)句對(duì)已經(jīng)創(chuàng)建的表修改表名,語(yǔ)法如下:
ALTER TABLE<舊表名> RENAME[TO]<新表名>;
其中,TO為可選參數(shù),使用與否不影響結(jié)果。修改表名,表結(jié)構(gòu)不變。
列如,實(shí)現(xiàn)在kktzd數(shù)據(jù)庫(kù)中創(chuàng)建表test1,將其修改為test2,SQL語(yǔ)句如下:
DROP TABLE IF EXISTS test1; CREATE TABLE NOT EXISTS test1( id INT(10) NOT NULL, Name VARCHAR(64), PRIMARY key(Id) ); #修改表名稱 ALTER TABLE test1 RENAME test2;
運(yùn)行結(jié)果如圖:
從上圖可以看得出,執(zhí)行修改表的SQL語(yǔ)句前后的變化。這里使用show tables語(yǔ)句查看當(dāng)前數(shù)據(jù)庫(kù)中的數(shù)據(jù)表。
2.2.2添加字段
隨著物業(yè)需求的變化,可能需要向已存的表中添加新的字段,添加字段語(yǔ)法如下:
ALTER TABLE 表名 ADD 字段名 數(shù)據(jù)類型 [屬性]
例如,向test2表中添加密碼字段,SQL語(yǔ)句如下:
#添加字段 ALTER TABLE test2 ADD password VARCHAR(64)NOT NULL;
執(zhí)行結(jié)果如下:
從表中可以看出,添加字段之后,執(zhí)行desc test2語(yǔ)句查看表的信息,在表的最后位置添加了字段password.
2.2.3 修改字段
數(shù)據(jù)表中的一個(gè)字段中包含字段名和數(shù)據(jù)類型,因此如果實(shí)現(xiàn)修改字段,可以包括修改字段名和修改數(shù)據(jù)儲(chǔ)存的類型。下面介紹基本SQL語(yǔ)句的語(yǔ)法。
ALTER TABLE 表名 CHANGE 舊字段名 新字段名 數(shù)據(jù)類型 [屬性];
執(zhí)行結(jié)果如下:
從結(jié)果上看,表中name字段已經(jīng)被修改為username,數(shù)據(jù)類型也進(jìn)行了修改。
注意:由于不同類型的數(shù)據(jù) 儲(chǔ)存方法和長(zhǎng)度不同,修改數(shù)據(jù)類型可能影響數(shù)據(jù)表中已有數(shù)據(jù),因此不要輕易修改數(shù)據(jù)類型。
2.2.4 刪除字段
刪除字段是講數(shù)據(jù)表中的某個(gè)字段中從表中移除,語(yǔ)法如下:
ALTER TABLE 表名 DROP 字段名;
例如:刪除test2表中password字段,SQL語(yǔ)句如下:
2.2.5 添加主鍵
1、添加主鍵約束
語(yǔ)法:
ALTER TABLE 表名 ADD CONSTRAINT 主鍵名 PRIMARY KEY(主鍵字段);
例如:將test2表中的id設(shè)置為主鍵,語(yǔ)法如下:
ALTER TABLE test2 ADD CONSTRAINT pk_test_id PRIMARY KEY(id);
這里我的主鍵已經(jīng)是id了,所以就不給大家演示了。
2.3 查看表
語(yǔ)法:
看所以的表名稱:
SHOW TABLES
查看某個(gè)表的詳細(xì)信息
DESC 表名
2.4刪除表
語(yǔ)法:
DROP TABLE 表名稱;
例如:
DROP TABLE 學(xué)生信息表;
看到這里基本的創(chuàng)建表和創(chuàng)建庫(kù)你也就會(huì)了,加油!??!
總結(jié)
到此這篇關(guān)于MySQL實(shí)現(xiàn)簡(jiǎn)單的創(chuàng)建庫(kù)和創(chuàng)建表的文章就介紹到這了,更多相關(guān)MySQL創(chuàng)建庫(kù)和創(chuàng)建表內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
MySQL的指定范圍隨機(jī)數(shù)函數(shù)rand()的使用技巧
這篇文章主要介紹了MySQL的指定范圍隨機(jī)數(shù)函數(shù)rand()的使用技巧,需要的朋友可以參考下2016-09-09MySQL實(shí)現(xiàn)查詢某個(gè)字段含有字母數(shù)字的值
這篇文章主要介紹了MySQL實(shí)現(xiàn)查詢某個(gè)字段含有字母數(shù)字的值方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-07-07MySQL定位長(zhǎng)事務(wù)(Identify Long Transactions)的實(shí)現(xiàn)
在MySQL的運(yùn)行中,經(jīng)常會(huì)遇到一些長(zhǎng)事務(wù),本文主要介紹了MySQL定位長(zhǎng)事務(wù),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2024-09-09MySQL處理DB讀寫分離數(shù)據(jù)不一致問題的方案
在互聯(lián)網(wǎng)中大型項(xiàng)目中,讀寫分離應(yīng)該是我們小伙伴經(jīng)常聽說的,這個(gè)主要解決大流量請(qǐng)求時(shí),提高系統(tǒng)的吞吐量,本文給大家介紹了MySQL處理DB讀寫分離數(shù)據(jù)不一致問題的方案,需要的朋友可以參考下2024-02-02解決MySQL中IN子查詢會(huì)導(dǎo)致無法使用索引問題
這篇文章主要介紹了MySQL中IN子查詢會(huì)導(dǎo)致無法使用索引問題,文章給大家介紹了兩種子查詢的寫法,需要的朋友可以參考下2017-06-06MySQL中實(shí)現(xiàn)多表查詢的操作方法(配sql+實(shí)操圖+案例鞏固 通俗易懂版)
本文主要講解了MySQL中的多表查詢,包括子查詢、笛卡爾積、自連接、多表查詢的實(shí)現(xiàn)方法以及多列子查詢等,通過實(shí)際例子和操作,幫助讀者理解如何合并多個(gè)表的數(shù)據(jù),并進(jìn)行復(fù)雜的查詢操作,感興趣的朋友一起看看吧2025-03-03