MySQL 基礎(chǔ)語句的練習(xí)

-- *** ①、對數(shù)據(jù)庫的操作 *** --

-- 查看所有的數(shù)據(jù)庫

SHOW DATABASES;

-- 創(chuàng)建數(shù)據(jù)庫

CREATE DATABASE day1026

DEFAULT CHARACTER SET utf8;

-- 查看該數(shù)據(jù)庫的所有表

SHOW TABLES;

-- 使用剛建的數(shù)據(jù)庫

USE day1026;

-- *** ②、對表的操作 *** --

-- 創(chuàng)建表

CREATE TABLE personnel

(

id INT,

NAME VARCHAR(20),

gender VARCHAR(2),

birthday DATE,

email VARCHAR(10),

remark VARCHAR(50)

);

-- 查看指定表的結(jié)構(gòu)

DESC personnel;

-- 修改表的名稱

ALTER TABLE personnel RENAME TO teachr;

ALTER TABLE teachr RENAME TO personnel;

-- *** ③、對列的操作 *** --

-- 在表中增加列

ALTER TABLE personnel ADD COLUMN age VARCHAR(3);

-- 修改列的長度

ALTER TABLE personnel MODIFY remark VARCHAR(50);

-- 刪除列

ALTER TABLE personnel DROP COLUMN remark;

-- 修改列的名稱

ALTER TABLE personnel CHANGE NAME username VARCHAR(20);

-- *** ④、對數(shù)據(jù)的操作 *** --

-- (為了方便,另外創(chuàng)建個少列的表)

CREATE TABLE person(

id VARCHAR(20),

NAME VARCHAR(10),

age INT,

sex VARCHAR(5)

);

DESC person;

-- ④.1:添加數(shù)據(jù) (按照順序插入所有字段)

INSERT INTO person VALUES(1,'張三',20,'男');

-- 添加數(shù)據(jù) (部分?jǐn)?shù)據(jù))

INSERT INTO person (id,NAME,age) VALUES (2,'李四',21);

INSERT INTO person (NAME)VALUES ('王五');

-- 修改數(shù)據(jù)(所有數(shù)據(jù),建議少用)

UPDATE person SET sex = '女';

-- 修改指定的數(shù)據(jù)(推薦使用)

UPDATE person SET sex = '男' WHERE id = 1; -- 把id為1那位的性別改為男

-- 修改多個字段,注意: SET 字段名=值,字段名=值,....

UPDATE person SET sex = '女' ,age = 20 WHERE NAME = '王五';

-- 把王五的性別改為男,年齡改為20

-- ④.2、刪除數(shù)據(jù)

-- 刪除數(shù)據(jù)(所有的數(shù)據(jù),少用)

DELETE FROM person;

-- 帶條件的刪除(推薦使用)

DELETE FROM person WHERE id = 1;

-- 另一種刪除方式(全部刪除)

TRUNCATE person;

-- delete from: 1)可以全表刪除 ,可以帶條件刪除 2)只能刪除表的數(shù)據(jù),不能刪除表的約束 3)使用delete from刪除的數(shù)據(jù)可以回滾(事務(wù))

-- truncate table: 1)可以全表刪除,不能帶條件刪除 2)即可以刪除表的數(shù)據(jù),也可以刪除表的約束 3)使用truncate table刪除的數(shù)據(jù)不能回滾

TRUNCATE TABLE student;

-- 建立一個帶有自增長的數(shù)據(jù)的表

CREATE TABLE test(

id INT PRIMARY KEY AUTO_INCREMENT,-- 自增

NAME VARCHAR(10)

);

-- 添加數(shù)據(jù),但不添加id的

INSERT INTO test (NAME) VALUES('張三');

INSERT INTO test (NAME) VALUES('李四');

-- 可以發(fā)現(xiàn),自動賦予id且自增 1、2

-- 如果用delete from 刪除,再進(jìn)行添加數(shù)據(jù),那么id會為3,也就是回滾,數(shù)據(jù)可以恢復(fù)的

-- 如果是用truncate 刪除,再進(jìn)行添加數(shù)據(jù),那么id從1開始,無法回滾,數(shù)據(jù)無法恢復(fù)

-- 查看所有列的數(shù)據(jù)

SELECT *FROM person;

SELECT *FROM test;

-- *** ⑤、查詢數(shù)據(jù) *** --

-- 5.1 查詢所有列

SELECT *FROM person;

-- 5.2 查詢指定列

SELECT id,NAME FROM person;

-- 5.3、查詢時可以指定別名 (表的別名不能是字符串)

-- 注意:在多表查詢時經(jīng)常使用表的別名

SELECT id AS '身份證', NAME AS '姓名' FROM person AS s;

-- 使用了別名后,就可以用別名來查詢它的數(shù)據(jù)

-- 5.4、查詢時添加常量列

-- 需求:在查詢person表時,添加一列住址列:內(nèi)容為“中國”

SELECT id,NAME,age,sex,'中國' AS China FROM person;

-- 5.5、查詢時合并列

-- 首先給這個表創(chuàng)建2個列,以便示范

ALTER TABLE person ADD java INT ,ADD c INT;

UPDATE person SET java = 80, c = 80 WHERE id = 2;

-- 查詢每個人的java和c的總成績

SELECT id,NAME,(java+c) AS '總成績' FROM person;

-- 注意:合并列只能合并數(shù)值類型的字段

-- 5.6、查詢時去除重復(fù)記錄

SELECT sex FROM person; -- 這樣的話,會列出女、男、男這樣的數(shù)據(jù)

-- 需求: 查詢數(shù)據(jù)內(nèi)有什么性別

-- 方法1:

SELECT DISTINCT sex FROM person; -- 如果數(shù)據(jù)內(nèi)只有男,則只顯示1個男,如果男女都有,則顯示兩個:男、女

-- 方法2:查詢有什么年齡

SELECT DISTINCT (age) FROM person;

-- 5.7、條件查詢 (where)

-- 5.7.1 邏輯條件: and(與) or(或)

-- and(與):查詢id為2,姓名為李四的人的信息

SELECT * FROM person WHERE id = 2 AND NAME = '李四';

-- or(或):查詢id為1,或者姓名是張三的人的信息

SELECT * FROM person WHERE id = 2 OR NAME = '張三';

-- 5.7.2 比較條件: > 、< 、>= 、<= 、<>(不等于)、between and

-- 查詢java成績大于等于80,且小于等于90的人

SELECT * FROM person WHERE java >=80 AND java <= 90;

-- 另外一種語法

SELECT * FROM person WHERE java BETWEEN 80 AND 90;-- 包左包右

-- 查詢不是男的0的人

SELECT * FROM person WHERE sex <>'男';

-- 5.7.3 判空條件:(null 空字符串): is null / is not null / =='' / <>''

-- null 和 空字符串 的區(qū)別:

-- null:沒有值

-- 空字符串:有值,是空字符串

-- 查詢性別為null的人(當(dāng)時沒賦值)

SELECT * FROM person WHERE sex IS NULL;

-- 查詢性別為空字符串的人

SELECT * FROM person WHERE sex IS '';

SELECT * FROM person WHERE sex IS NULL OR sex IS '';

-- 查詢填寫了性別的人(非null和非空)

SELECT * FROM person WHERE sex IS NOT NULL AND sex <>'';

-- 5.7.4 模糊條件:like

-- 通常使用這些替換標(biāo)識符:

-- %:替換任意個數(shù)字符

-- _:替換一個字符

-- 查詢姓‘張’的人

SELECT * FROM person WHERE NAME LIKE '張%';

-- 查詢姓‘李’并且姓名只有兩個字的人

SELECT * FROM person WHERE NAME LIKE '張_';

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法,類相關(guān)的語法,內(nèi)部類的語法,繼承相關(guān)的語法,異常的語法,線程的語...
    子非魚_t_閱讀 34,652評論 18 399
  • 以下只是部分招工補(bǔ)貼企業(yè),補(bǔ)貼300~2500元不等 昆山世碩: 綜合工資:3500-4000元錄用條件:1、年齡...
    28a3f1889778閱讀 579評論 0 0
  • 冬天的氣溫說降就降,昨天還在給媽媽講,今年的冬天一點(diǎn)都不冷,看來是要過個暖冬了。 今早起來,一點(diǎn)雨就讓氣溫下降了5...
    何倩_母乳指導(dǎo)閱讀 274評論 0 2
  • 佛說:前世,你是我親手種下的一株碗蓮,別的蓮都開了,只有你,直到枯萎,也沒能把你清麗的容顏展現(xiàn)在我眼前。 一.前緣...
    那片海葬著未亡人閱讀 1,105評論 0 0

友情鏈接更多精彩內(nèi)容