溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

詳細(xì)說明增刪改查

發(fā)布時(shí)間:2020-06-03 13:36:36 來源:網(wǎng)絡(luò) 閱讀:435 作者:粥結(jié)倫 欄目:MySQL數(shù)據(jù)庫

2. 修改表(重點(diǎn)重點(diǎn))

a) 修改表名

ALTER TABLE 表名 RENAME TO 新表名

b) 修改字段的數(shù)據(jù)類型

ALTER TABLE 表名 MODIFY 字段名  數(shù)據(jù)類型 屬性 索引;

c) 修改字段名

ALTER TABLE 表名 CHANGE 老字段名 新字段名  數(shù)據(jù)類型 屬性 索引;

d)  增加字段

ALTER TABLE 表名 ADD 字段名 數(shù)據(jù)類型 屬性 索引 [FIRST|AFTER 字段名]

如果后面firstafter 不寫的情況下 默認(rèn)是添加到字段末尾

e)  刪除字段

ALTER TABLE 表名 DROP 字段名

ERROR 1091 (42000): Can't DROP 'phone'; check that column/key exists

刪除不存在的字段 會(huì)報(bào)上面的錯(cuò)誤

f) 修改字段的排列位置

ALTER TABLE 表名 MODIFY 字段1 數(shù)據(jù)類型 屬性 索引 AFTER 字段2

g) 修改表引擎

 ALTER TABLE 表名 ENGINE = 引擎名

數(shù)據(jù)量大的時(shí)候 不建議像上面一樣去修改表引擎 而是先創(chuàng)建一個(gè)和myuser表一樣的表 然后把空表的引擎修改為我們要修改的引擎之后將數(shù)據(jù)導(dǎo)入到新表中即可

h) 將自增改為現(xiàn)在的最大值

==========================================================================================================================

                                                    舉例說明 增 刪 改 查

ENGINE=MyISAM DEFAULT CHARSET=utf8;
INSERT INTO myuser VALUES(NULL,'user1',md5('123456'),18,0,1510023998,'不拋棄,不放棄,勇于擔(dān)當(dāng),敢于亮劍');
INSERT INTO myuser VALUES(NULL,'user2',md5('123456'),18,0,1510023998,'讓學(xué)習(xí)成為一種習(xí)慣');
INSERT INTO myuser VALUES(NULL,'user3',md5('123456'),18,0,1510023998,'讓我成為一個(gè)習(xí)慣');

-- 修改表名
ALTER TABLE myuser RENAME TO  user1;
ALTER TABLE user1 RENAME TO  myuser;

-- 修改字段數(shù)據(jù)類型
ALTER TABLE myuser MODIFY age INT NOT NULL DEFAULT 0;
ALTER TABLE myuser MODIFY age TINYINT UNSIGNED NOT NULL DEFAULT 0;


-- 修改字段名
ALTER TABLE myuser CHANGE age myage TINYINT UNSIGNED NOT NULL DEFAULT 0;
ALTER TABLE myuser CHANGE myage age TINYINT UNSIGNED NOT NULL DEFAULT 0;


-- 增加字段
ALTER TABLE myuser ADD city VARCHAR(255) NOT NULL DEFAULT '地球村';
ALTER TABLE myuser ADD lovegood SET('邱亮','avi','mp4','vob','girl') NOT NULL FIRST;
ALTER TABLE myuser ADD  tel CHAR(11) NOT NULL AFTER age;


-- 刪除字段
ALTER TABLE myuser DROP lovegood;
ALTER TABLE myuser DROP city;
ALTER TABLE myuser DROP tel;
ALTER TABLE myuser DROP phone;

-- 字段排列位置
ALTER TABLE myuser MODIFY reg_time INT NOT NULL AFTER age;
ALTER TABLE myuser MODIFY reg_time INT NOT NULL AFTER sex;

-- 修改表引擎
ALTER TABLE myuser ENGINE =InnoDB;
ALTER TABLE myuser ENGINE =MyISAM;

-- 數(shù)據(jù)量大的時(shí)候 不建議像上面一樣去修改表引擎 而是先創(chuàng)建一個(gè)和myuser表一樣的表 然后把空表的引擎修改為我們要修改的引擎之后將數(shù)據(jù)導(dǎo)入到新表中即可

-- 將自增改為現(xiàn)在的最大值
ALTER TABLE myuser AUTO_INCREMENT =0;

CREATE TABLE IF NOT EXISTS info(
    id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(255) NOT NULL,
    age TINYINT UNSIGNED NOT NULL DEFAULT 0,
    sex  TINYINT NOT NULL DEFAULT 0,
    city VARCHAR(255) NOT NULL DEFAULT '北京'
)ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- 對(duì)所有字段的所有值添加數(shù)據(jù)
INSERT INTO info VALUES(NULL,'馬洪祥',45,0,'南京');
INSERT INTO info VALUES(NULL,'文卓',38,0,'南寧');
INSERT INTO info VALUES(NULL,'杰杰',0,26,'成都');

-- 列出所有字段
INSERT INTO info(id,name,age,sex,city) VALUES(NULL,'琳琳',16,0,'成都');
INSERT INTO info(id,name,age,sex,city) VALUES(NULL,'德寶',78,1,'杭州');

-- 指定字段插入
INSERT INTO info(name,age,sex) VALUES('李想',150,2);
INSERT INTO info(name,age,sex) VALUES('薛琳',17,3);
INSERT INTO info(name,age,sex) VALUES('茜茜',14,0);
INSERT INTO info(name,age,sex) VALUES('李帥想',14,0);


-- 同時(shí)插入多條數(shù)據(jù)
INSERT INTO info(id,name,age,sex,city) VALUES(NULL,'燕燕',16,0,'鄭州'),(NULL,'文帥',24,1,'深圳'),(NULL,'良良',98,2,'濟(jì)南'),(NULL,'騷里',84,1,'寧波'),(NULL,'小王子馬黎',56,1,'西安'),(NULL,'張三皮',110,2,'徐州'),(NULL,'天意哥',7,2,'沈陽');
INSERT INTO info(id,name,age,sex,city) VALUES(NULL,'潔輝',2,1,'鄭州'),(NULL,'芳芳',18,0,'西安'),(null,'王小二',18,1,'酒店'),(null,'王中王',255,4,'雙匯'),(null,'小王八',255,4,'河里'),(null,'隔壁老王',43,1,'隔壁');
INSERT INTO info(id,name,age,sex,city) VALUES(NULL,'球球',18,1,'東京hot'),(null,'眼袋哥',18,1,'大阪'),(null,'白哥',18,1,'北海道'),(null,'黑哥',18,1,'歐美');

-- 修改數(shù)據(jù)
UPDATE info SET age=66,sex=0 WHERE id=3;

-- 刪除數(shù)據(jù)
DELETE FROM info WHERE id=26;


-- 列出所有字段
SELECT id,name,age,sex,city FROM info ;

-- 使用*查詢
SELECT * FROM info;

-- 查詢指定字段
SELECT id,name FROM info;

-- 比較: = < > <= >= != <>
-- 指定范圍: BETWEEN AND   NOT BETWEEN AND
-- 指定集合: IN  NOT IN
-- 匹配字符  LIKE  NOT LIKE
-- 是否為空值  IS NULL  IS NOT NULL
-- 多個(gè)條件查詢   AND OR

-- 比較: = < > <= >= != <>
SELECT  id,name,age,sex,city FROM info WHERE id =10;
SELECT  id,name,age,sex,city FROM info WHERE id <10;
SELECT  id,name,age,sex,city FROM info WHERE id >10;
SELECT  id,name,age,sex,city FROM info WHERE id <=10;
SELECT  id,name,age,sex,city FROM info WHERE id >=10;
SELECT  id,name,age,sex,city FROM info WHERE id !=10;
SELECT  id,name,age,sex,city FROM info WHERE id <>10;

-- 指定范圍: BETWEEN AND   NOT BETWEEN AND id大于等于15而且 小于等于20
SELECT id,name,age,sex,city FROM info WHERE age BETWEEN 15 AND 20;
SELECT id,name,age,sex,city FROM info WHERE age NOT BETWEEN 15 AND 20;

-- 指定集合: IN  NOT IN
SELECT id,name,sex,age,city FROM info WHERE id IN(22,7,14,15,2);
SELECT id,name,sex,age,city FROM info WHERE id NOT IN(22,7,14,15,2);


-- 匹配字符  LIKE  NOT LIKE
-- 模糊查詢 字符 _代表一個(gè)字符  %代表0 1 多個(gè)字符
SELECT id,name,sex,age,city FROM info WHERE name LIKE '李_';
SELECT id,name,sex,age,city FROM info WHERE name LIKE '李__';

-- 以指定字符開頭
SELECT id,name,sex,age,city FROM info WHERE name LIKE '王%';

-- 以指定字符結(jié)尾
SELECT id,name,sex,age,city FROM info WHERE name LIKE '%王';

-- 所有帶中間字符的都出來?。。?!
SELECT id,name,sex,age,city FROM info WHERE name LIKE '_王%';


SELECT id,name,sex,age,city FROM info WHERE name NOT LIKE '%王%';


-- 是否為空值  IS NULL  IS NOT NULL
-- is NULL
SELECT id,name,sex,age,city FROM info WHERE name IS NULL;

-- IS NOT NULL
SELECT id,name,sex,age,city FROM info WHERE name IS NOT NULL;

-- 多個(gè)條件查詢   AND OR
-- 查詢出所有帶王字的并且年齡要大于17
-- AND
SELECT id,name,sex,age,city FROM info WHERE name LIKE '%王%' AND age>17;

--  查詢出所有帶李字的或者性別為0的數(shù)據(jù)全部出來
-- OR
SELECT id,name,sex,age,city FROM info WHERE name LIKE '%李%' OR  sex=0;

-- 值查詢性別
SELECT sex FROM info ;
-- 去除查出結(jié)果中重復(fù)的內(nèi)容 DISTINCT

SELECT DISTINCT sex FROM info;

-- 請(qǐng)查詢出我們班級(jí)中人物的所在地位置

SELECT DISTINCT city FROM info;

-- ORDER BY 排序
-- ASC 從小到大
SELECT id,name,sex,age,city FROM info ORDER BY age ASC;

-- DESC 從大到小
SELECT id,name,sex,age,city FROM info ORDER BY age DESC;

-- ID小于25的 按照id 從大到小排序
-- 如果有where 條件 orderby 需要寫在where條件后面
SELECT id,name,sex,age,city FROM info WHERE id < 25 ORDER BY age DESC;
SELECT id,name,sex,age,city FROM info WHERE id < 25 ORDER BY age DESC,id DESC;

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI