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

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

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

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

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

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

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

drop table lrx_t1;

3.下面我們做一個練習

#創(chuàng)建表的課堂練習
-- 字段屬性
-- Id 整形
-- name 字符型
-- sex 字符型
-- brithday 日期型(date)
-- entry_date 日期型 (date)
-- job 字符型
-- Salary 小數(shù)型
-- resume 文本型
-- 自己一定要練習一把
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`;

二. 修改表結構

這是對表的結構進行修改,比如添加列,刪除列,修改表的名字,字符集,引擎等

  • 添加列
alter table lrx_t1 add `name` varchar(32) not null default '';
  • 刪除列
alter table lrx_t1 drop `name`;
  • 修改表的名字
rname table lrx_t1 to liu;
  • 修改列,比如修改名字的長度為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;
  • 顯示表的結構
desc liu;

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

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

1.基本語句

insert into table_name values (vaulue...);

2.使用細節(jié)

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

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

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

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

2.基本使用,我們先看一個題目

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

-- 3. 將 老妖怪 的薪水在原有基礎上增加 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 = '老妖怪' -- 可以修改多個列的值
UPDATE employee
	SET salary = salary + 1000 , job = '出主意的'
    WHERE user_name = '老妖怪' 

3.updata使用的四個細節(jié)

  • 1.UPDATE語法可以用新值更新原有表行中的各列。
  • 2.SET子句指示要修改哪些列和要給予哪些值。
  • 3.WHERE子句指定應更新哪些行。如沒有WHERE子句,則更新所有的行(記錄),因此老師提醒一定小心。
  • 4.如果需要修改多個字段,可以通過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 設為 null 或者 '')
UPDATE employee
	 SET job = ''
	 WHERE user_name = '老妖怪';

-- 要刪除這個表
DROP TABLE employee;

3.delect使用細節(jié)

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

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

查詢語句我們這里簡單講述一下單表查詢

3.4.1單表查詢

1.基本語法

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

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

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,'關羽',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,'歐陽鋒',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)建之后,我們看一下題目要求

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

3.使用表達式對查詢的列進行運算

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

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

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

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

6.使用 order by 子句排序查詢結果

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

總結 

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

相關文章

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

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

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

    mysql錯誤代碼error2003的問題及解決

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

    mysql索引對排序的影響實例分析

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

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

    由于項目變態(tài)需求;需要在一個比較短時間段急劇增加數(shù)據(jù)庫記錄(兩三天內(nèi),由于0增加至4億)。在整個過程調(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是一種非常常見的操作,用于將兩個或多個表中的數(shù)據(jù)合并到一個結果集中。MySQL支持多種JOIN類型,本文通過代碼示例詳細介紹了Join的使用優(yōu)化,有需要的小伙伴可以參考閱讀
    2023-04-04
  • MySQL中MVCC機制的實現(xiàn)原理

    MySQL中MVCC機制的實現(xiàn)原理

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

    CentOS 7中升級MySQL 5.7.23的坑與解決方法

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

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

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

    mysql5.7 生成列 generated column用法實例分析

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

最新評論