欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Mysql創(chuàng)建表以及數(shù)據(jù)庫(kù)crud語句舉例詳細(xì)講解

 更新時(shí)間:2025年08月18日 09:33:52   作者:whisperrr.  
MySQL作為關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),提供了豐富的數(shù)據(jù)操作功能,其中CRUD(創(chuàng)建、讀取、更新、刪除)是基本的操作方式,這篇文章主要介紹了Mysql創(chuàng)建表以及數(shù)據(jù)庫(kù)crud語句的相關(guān)資料,需要的朋友可以參考下

一. 創(chuàng)建數(shù)據(jù)表

1.下面我們直接演示數(shù)據(jù)表的創(chuàng)建語句:

  • field:指定列名
  • datatype:指定列名的數(shù)據(jù)類型
  • character set:若不指定字符集,就與所在數(shù)據(jù)庫(kù)的字符集保持一致
  • collate:校隊(duì)規(guī)則,若不指定,就與所在數(shù)據(jù)庫(kù)的字符集保持一致
-- 演示表的創(chuàng)建
CREATE TABLE lrx_t1(
	field1 datatype,
	field2 datatype,
	field3 datatype
)CHARACTER SET 字符集 
 COLLATE 校隊(duì)規(guī)則 
 ENGINE 存儲(chǔ)引擎;

2.刪除數(shù)據(jù)表

drop table lrx_t1;

3.下面我們做一個(gè)練習(xí)

#創(chuàng)建表的課堂練習(xí)
-- 字段屬性
-- Id 整形
-- name 字符型
-- sex 字符型
-- brithday 日期型(date)
-- entry_date 日期型 (date)
-- job 字符型
-- Salary 小數(shù)型
-- resume 文本型
-- 自己一定要練習(xí)一把
CREATE TABLE `emp` (
	id INT, 
	`name` VARCHAR(32),
	 sex CHAR(1), brithday DATE,
	entry_date DATETIME, 
	job VARCHAR(32), 
	salary DOUBLE, `resume` TEXT) CHARSET utf8 COLLATE utf8_bin ENGINE INNODB;
 -- 添加一條
INSERT INTO `emp` VALUES(100, '小妖怪', '男', '2000-11-11',
'2010-11-10 11:11:11', '巡山的', 3000, '大王叫我來巡山');
-- 查詢
SELECT * FROM `emp`;

二. 修改表結(jié)構(gòu)

這是對(duì)表的結(jié)構(gòu)進(jìn)行修改,比如添加列,刪除列,修改表的名字,字符集,引擎等

  • 添加列
alter table lrx_t1 add `name` varchar(32) not null default '';
  • 刪除列
alter table lrx_t1 drop `name`;
  • 修改表的名字
rname table lrx_t1 to liu;
  • 修改列,比如修改名字的長(zhǎng)度為60,注意,我們已經(jīng)改了表名
altre table liu modify `name` varchar(60)
  • 列名·name`改為 my_name
alter table liu change `name` my_name varchar(32) not null default ' ';
  • 修改表的字符集為utf8
alter table liu character set utf8;
  • 顯示表的結(jié)構(gòu)
desc liu;

三. 數(shù)據(jù)庫(kù)CRUD語句

3.1Insert語句(添加數(shù)據(jù))

1.基本語句

insert into table_name values (vaulue...);

2.使用細(xì)節(jié)

  1. 插入的數(shù)據(jù)應(yīng)與字段的數(shù)據(jù)類型相同。
    比如 把 ‘abc’ 添加到 int 類型會(huì)錯(cuò)誤
    INSERT INTO goods (id, goods_name, price)
    VALUES(‘雷軍’, ‘小米手機(jī)’, 2000);
  2. 數(shù)據(jù)的長(zhǎng)度應(yīng)在列的規(guī)定范圍內(nèi),例如:不能將一個(gè)長(zhǎng)度為 80 的字符串加入到長(zhǎng)度為 40 的列中。
    INSERT INTO goods (id, goods_name, price)
    VALUES(40, ‘vovo 手機(jī) vovo 手機(jī) vovo 手機(jī) vovo 手機(jī) vovo 手機(jī)’, 3000);
  3. 在 values 中列出的數(shù)據(jù)位置必須與被加入的列的排列位置相對(duì)應(yīng)。
    INSERT INTO goods (id, goods_name, price) – 不對(duì)
    VALUES(‘vovo 手機(jī)’,40, 2000); –
  4. 字符和日期型數(shù)據(jù)應(yīng)包含在單引號(hào)中。
    INSERT INTO goods (id, goods_name, price)
    VALUES(40, vovo 手機(jī), 3000); – 錯(cuò)誤的 vovo 手機(jī) 應(yīng)該 ‘vovo 手機(jī)’
  5. 列可以插入空值[前提是該字段允許為空],insert into table value(null)
    INSERT INTO goods (id, goods_name, price)
    VALUES(40, ‘vovo 手機(jī)’, NULL);
  6. insert into tab_name (列名…) values (),(),() 形式添加多條記錄
    INSERT INTO goods (id, goods_name, price)
    VALUES(50, ‘三星手機(jī)’, 2300),(60, ‘海爾手機(jī)’, 1800);
  7. 如果是給表中的所有字段添加數(shù)據(jù),可以不寫前面的字段名稱
    INSERT INTO goods VALUES(70, ‘IBM 手機(jī)’, 5000);
  8. 默認(rèn)值的使用,當(dāng)不給某個(gè)字段值時(shí),如果有默認(rèn)值就會(huì)添加默認(rèn)值,否則報(bào)錯(cuò),如果某個(gè)列 沒有指定 not null ,那么當(dāng)添加數(shù)據(jù)時(shí),沒有給定值,則會(huì)默認(rèn)給 null , 如果我們希望指定某個(gè)列的默認(rèn)值,可以在創(chuàng)建表時(shí)指定
    INSERT INTO goods (id, goods_name)
    VALUES(80, ‘格力手機(jī)’);
    SELECT * FROM goods;

    INSERT INTO goods2 (id, goods_name)
    VALUES(10, ‘小米手機(jī)’);
    SELECT * FROM goods2;

3.2Update語句(更新數(shù)據(jù))

1.使用update語句來修改表中的數(shù)據(jù)

2.基本使用,我們先看一個(gè)題目

-- 演示 update 語句
-- 要求: 在上面創(chuàng)建的 employee 表中修改表中的紀(jì)錄
-- 1. 將所有員工薪水修改為 5000 元。[如果沒有帶 where 條件,會(huì)修改所有的記錄,因此要小心]
UPDATE employee SET salary = 5000
-- 2. 將姓名為 小妖怪 的員工薪水修改為 3000 元。
UPDATE employee
	SET salary = 3000
	WHERE user_name = '小妖怪'

-- 3. 將 老妖怪 的薪水在原有基礎(chǔ)上增加 1000 元	
INSERT INTO employee
	VALUES(200, '老妖怪', '1990-11-11', '2000-11-11 10:10:10', '捶背的', 5000, '給大王捶背', 'd:\\a.jpg');
	
UPDATE employee
	SET salary = salary + 1000
	WHERE user_name = '老妖怪' -- 可以修改多個(gè)列的值
UPDATE employee
	SET salary = salary + 1000 , job = '出主意的'
    WHERE user_name = '老妖怪' 

3.updata使用的四個(gè)細(xì)節(jié)

  • 1.UPDATE語法可以用新值更新原有表行中的各列。
  • 2.SET子句指示要修改哪些列和要給予哪些值。
  • 3.WHERE子句指定應(yīng)更新哪些行。如沒有WHERE子句,則更新所有的行(記錄),因此老師提醒一定小心。
  • 4.如果需要修改多個(gè)字段,可以通過set字段1=值1,字段2=值2…

3.3Delect語句(刪除數(shù)據(jù))

1.使用delect語句刪除表中數(shù)據(jù)

2.快速入門案例解答

-- 刪除表中名稱為'老妖怪'的記錄。

DELETE FROM employee
	WHERE user_name = '老妖怪'; 
	
-- 刪除表中所有記錄, 老師提醒,一定要小心
DELETE FROM employee; 

-- Delete 語句不能刪除某一列的值(可使用 update 設(shè)為 null 或者 '')
UPDATE employee
	 SET job = ''
	 WHERE user_name = '老妖怪';

-- 要?jiǎng)h除這個(gè)表
DROP TABLE employee;

3.delect使用細(xì)節(jié)

  • 如果不使用where子句,將刪除表中所有數(shù)據(jù)。
  • Delete語句不能刪除某一列的值(可使用update設(shè)為null或者")
  • 使用delete語句僅刪除記錄,不刪除表本身。如要?jiǎng)h除表,使用drop table 表名;

3.4Select語句(查找數(shù)據(jù))

查詢語句我們這里簡(jiǎn)單講述一下單表查詢

3.4.1單表查詢

1.基本語法

  • 1.Select指定查詢哪些列的數(shù)據(jù)。
  • 2.column指定列名。
  • 3.*號(hào)代表查詢所有列。
  • 4 From指定查詢哪張表。
  • 5.DISTINCT可選,指顯示結(jié)果時(shí),是否去掉重復(fù)數(shù)據(jù)

2,下面我們演示一下案例,在演示之前,我們先創(chuàng)建一個(gè)表

CREATE TABLE student(
	id INT NOT NULL DEFAULT 1, 
	NAME VARCHAR(20) NOT NULL DEFAULT '', 
	chinese FLOAT NOT NULL DEFAULT 0.0, 
	english FLOAT NOT NULL DEFAULT 0.0, 
	math FLOAT NOT NULL DEFAULT 0.0
);
INSERT INTO student(id,NAME,chinese,english,math) VALUES(1,'韓順平',89,78,90);
INSERT INTO student(id,NAME,chinese,english,math) VALUES(2,'張飛',67,98,56);
INSERT INTO student(id,NAME,chinese,english,math) VALUES(3,'宋江',87,78,77);
INSERT INTO student(id,NAME,chinese,english,math) VALUES(4,'關(guān)羽',88,98,90);
INSERT INTO student(id,NAME,chinese,english,math) VALUES(5,'趙云',82,84,67);
INSERT INTO student(id,NAME,chinese,english,math) VALUES(6,'歐陽(yáng)鋒',55,85,45);
INSERT INTO student(id,NAME,chinese,english,math) VALUES(7,'黃蓉',75,65,30);
INSERT INTO student(id,NAME,chinese,english,math) VALUES(8,'韓信',45,65,99);
SELECT * FROM student;

表創(chuàng)建之后,我們看一下題目要求

-- 查詢表中所有學(xué)生的信息。
SELECT * FROM student; 
-- 查詢表中所有學(xué)生的姓名和對(duì)應(yīng)的英語成績(jī)。
SELECT `name`,english FROM student; 
-- 過濾表中重復(fù)數(shù)據(jù) distinct 。
SELECT DISTINCT english FROM student;
 -- 要查詢的記錄,每個(gè)字段都相同,才會(huì)去重
SELECT DISTINCT `name`, english FROM student;

3.使用表達(dá)式對(duì)查詢的列進(jìn)行運(yùn)算

4.在 select 語句中可使用 as 語句

5.在 where 子句中經(jīng)常使用的運(yùn)算符

下面我們繼續(xù)根據(jù)上面創(chuàng)建的表來練習(xí)題目

-- select 語句
-- 查詢姓名為趙云的學(xué)生成績(jī)
SELECT * FROM student
	WHERE `name` = '趙云' 
-- 查詢英語成績(jī)大于 90 分的同學(xué)
SELECT * FROM student
	WHERE english > 90
-- 查詢總分大于 200 分的所有同學(xué)
SELECT * FROM student
	WHERE (chinese + english + math) > 200

6.使用 order by 子句排序查詢結(jié)果

-- 演示 order by 使用
-- 對(duì)數(shù)學(xué)成績(jī)排序后輸出【升序】。
SELECT * FROM student
	ORDER BY math; 
-- 對(duì)總分按從高到低的順序輸出 [降序] -- 使用別名排序
SELECT `name` , (chinese + english + math) AS total_score
 	FROM student
	ORDER BY total_score DESC;
 -- 對(duì)姓韓的學(xué)生成績(jī)[總分]排序輸出(升序) where + order by
SELECT `name`, (chinese + english + math) AS total_score 
	FROM student
	WHERE `name` LIKE '韓%' ORDER BY total_score;

總結(jié) 

到此這篇關(guān)于Mysql創(chuàng)建表以及數(shù)據(jù)庫(kù)crud語句的文章就介紹到這了,更多相關(guān)Mysql創(chuàng)建表及crud語句內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • mysql死鎖(dead lock)與鎖等待(lock wait)的出現(xiàn)解決

    mysql死鎖(dead lock)與鎖等待(lock wait)的出現(xiàn)解決

    死鎖和鎖等待是數(shù)據(jù)庫(kù)運(yùn)維中常見的問題,區(qū)別在于死鎖會(huì)自動(dòng)解除,而鎖等待需要手動(dòng)處理,本文就來介紹一下mysql死鎖(dead lock)與鎖等待(lock wait),感興趣的可以了解一下
    2024-09-09
  • mysql錯(cuò)誤代碼error2003的問題及解決

    mysql錯(cuò)誤代碼error2003的問題及解決

    這篇文章主要介紹了mysql錯(cuò)誤代碼error2003的問題及解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-05-05
  • mysql索引對(duì)排序的影響實(shí)例分析

    mysql索引對(duì)排序的影響實(shí)例分析

    這篇文章主要介紹了mysql索引對(duì)排序的影響,結(jié)合實(shí)例形式分析了mysql使用索引提高排序速度的相關(guān)操作技巧,需要的朋友可以參考下
    2019-07-07
  • mysql數(shù)據(jù)庫(kù)插入速度和讀取速度的調(diào)整記錄

    mysql數(shù)據(jù)庫(kù)插入速度和讀取速度的調(diào)整記錄

    由于項(xiàng)目變態(tài)需求;需要在一個(gè)比較短時(shí)間段急劇增加數(shù)據(jù)庫(kù)記錄(兩三天內(nèi),由于0增加至4億)。在整個(gè)過程調(diào)優(yōu)過程非常艱辛
    2012-07-07
  • MySQL 5.6 中的 TIMESTAMP 和 explicit_defaults_for_timestamp 參數(shù)

    MySQL 5.6 中的 TIMESTAMP 和 explicit_defaults_for_timestamp 參數(shù)

    這篇文章主要介紹了MySQL 5.6 中的 TIMESTAMP 和 explicit_defaults_for_timestamp 參數(shù),需要的朋友可以參考下
    2015-08-08
  • 一文詳解MySQL—Join的使用優(yōu)化

    一文詳解MySQL—Join的使用優(yōu)化

    JOIN是一種非常常見的操作,用于將兩個(gè)或多個(gè)表中的數(shù)據(jù)合并到一個(gè)結(jié)果集中。MySQL支持多種JOIN類型,本文通過代碼示例詳細(xì)介紹了Join的使用優(yōu)化,有需要的小伙伴可以參考閱讀
    2023-04-04
  • MySQL中MVCC機(jī)制的實(shí)現(xiàn)原理

    MySQL中MVCC機(jī)制的實(shí)現(xiàn)原理

    這篇文章主要介紹了MySQL中MVCC機(jī)制的實(shí)現(xiàn)原理,MVCC多版本并發(fā)控制,MySQL中一種并發(fā)控制的方法,他主要是為了提高數(shù)據(jù)庫(kù)的讀寫性能,用更好的方式去處理讀寫沖突
    2022-08-08
  • CentOS 7中升級(jí)MySQL 5.7.23的坑與解決方法

    CentOS 7中升級(jí)MySQL 5.7.23的坑與解決方法

    我們?cè)诎惭b升級(jí)的時(shí)候會(huì)遇到一些問題,不過可能每個(gè)人遇到的問題不一樣,多找找才能解決問題喲,下面這篇文章主要給大家介紹了關(guān)于在CentOS 7中升級(jí)MySQL 5.7.23遇到的一個(gè)坑與解決方法,需要的朋友可以參考下
    2018-10-10
  • MySQL中JSON 函數(shù)的具體使用

    MySQL中JSON 函數(shù)的具體使用

    在現(xiàn)代數(shù)據(jù)庫(kù)設(shè)計(jì)中,JSON 格式的數(shù)據(jù)因其靈活性和可擴(kuò)展性而變得越來越受歡迎,MySQL 8.0 引入了許多強(qiáng)大的 JSON 函數(shù),使得處理 JSON 數(shù)據(jù)變得更加方便和高效,下面就來介紹一下
    2025-07-07
  • mysql5.7 生成列 generated column用法實(shí)例分析

    mysql5.7 生成列 generated column用法實(shí)例分析

    這篇文章主要介紹了mysql5.7 生成列 generated column用法,結(jié)合實(shí)例形式分析了mysql5.7 生成列 generated column基本原理、用法及操作注意事項(xiàng),需要的朋友可以參考下
    2020-02-02

最新評(píng)論