国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

MYSQL基本命令和操作

這篇具有很好參考價值的文章主要介紹了MYSQL基本命令和操作。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

??作者 : D. Star.
??專欄 : JAVA
??今日提問 : 你好,我的朋友,在你的人生途中,會面臨很多選擇,不管選什么樣的結果,我們都多少會有些后悔。如果是你,你會選擇愛你的,還是懂你的?
MYSQL基本命令和操作,攻克JAVA,mysql,數據庫

一、數據庫分類(了解):

1. 關系型數據庫:

Oracle(最好),Mysql(最廣泛–免費),SQL Server(好用不火),SQLite(輕量級)

2. 非關系型數據庫:

MongoDB,Redis,HBase

二、數據庫中的基本概念:

1. 數據庫:

數據庫(Database)是按照數據結構來組織、存儲和管理數據的倉庫。

2. 數據表:

表是數據的矩陣。在一個數據庫中的表看起來像一個簡單的電子表格。

3. 列、行:

一列(數據元素) :包含了相同的數據。
一行(元組/記錄):是一組相關的數據。

4. 主鍵:

主鍵是唯一的。一個數據表中只能包含一個主鍵。

5. 外鍵:

外鍵用于關聯兩個表。

三、對于數據庫的基本操作:

1. 創(chuàng)建數據庫(create)

create database 表名(列名 類型,…);

例如:創(chuàng)建一個名為student的數據庫

//eg:創(chuàng)建一個名為student的數據庫
create database student;

2. 刪除數據庫 (drop)

drop database 表名;

例如:刪除一個名為student的數據庫

//eg:刪除一個名為student的數據庫
drop database student;

3. 查看所有的數據庫(已有)(show):

show databases;

show databases;//顯示所有數據庫

四、對于數據表的基本操作:

1. 增(create)

create table 表名(列名 類型,…);

例如:創(chuàng)建一個名為stu的數據表(id,姓名,成績);

//eg:創(chuàng)建一個名為student的數據表(id,姓名,成績)
create table student(id int,name varchar(20),grade decimal(3,1));

2. 刪 (drop)

drop table 表名;

例如:刪除一個名為student的數據表;

//eg:刪除一個名為student的數據表
drop table stu;

3. 查看表名(show/desc)

show tables;
desc 【表名】;

例如:展示stu數據庫里的所有表名:

//eg:展示stu數據庫里的所有表名:
show tables;

例如:查看books表的結構

desc books;

4. 改(alter)

4.1. 刪除列

alter table 【表名】 drop【列名】;

例如:刪除student表中的grade列

//eg:刪除student表中的grade列
alter table student drop grade;

4.2. 增加列

alter table 【表名】 add【列名】 【類型】;

例如:增加student表中的grade列

//eg:增加student表中的grade列
alter table student add grade decimal(3,1);

  • 修改列的名字
    alter table【表名】 change【列名】【新名】 ;

例如:將student表中的grade改為成績

//eg:將student表中的grade改為成績
alter table student change grade '成績';

  • 創(chuàng)建索引
    alter table 【表名】 add index 索引名(列名);

例如:創(chuàng)建student表中的名字為索引

//eg:創(chuàng)建student表中的名字為索引
alter table student add index index_name(name);
  • 刪除索引

alter table 【表名】 drop index 索引名(列名);

例如:刪除student表中的名字為索引

//eg:刪除student表中的名字為索引
alter table student drop index index_name(name);
  • 修改表名

alter table 【表名】 rename 【新表名】;

例如:將student表的表名改成students

//eg:將student表的表名改成students
alter table student rename students;

五、對數據表數據的基本操作:

1. 首先要對該數據表的數據庫進行選中操作(use)

(否則無法進行該數據庫的操作)

use 數據庫名;

例如:假設這里的數據庫名位stu;

//eg:假設這里的數據庫名位stu;
use stu;

2. 增(insert)

  • 直接增加一條/多條記錄 。
    insert into 【表名】 values(…);
    insert into 【表名】 values(…),(…),(…);

例如:在students表中插入(1,‘王五’,85.5);
注 : varchar類型可以是單引號/雙引號

//eg:在students表中插入(1,'王五',85.5);
//法一:
insert into students values(1,'王五',85.5);
insert into students values(1,"王五",85.5);
//法二:
insert into students(name,id,grade) values('王五',1,85.5);

  • 插入特定數據(select挑選出來的)。
    insert into stutends(name,grade) (select name,grade from students where id = 1);

例如:將students表中id為1的(姓名,成績)插入到students表中新的(姓名成績)

eg:將students表中id為1(姓名,成績)插入到students表中新的(姓名成績)
insert into stutends(name,grade) (select name,grade from students where id = 1);

3. 刪(delete)

  • 刪除表中的一條或者多條記錄。
    delete from 【表名】 where 【條件】;
    delete from 【表名】;
//(刪除的是符合該條件的一條條記錄)
//eg:刪除成績?yōu)?的記錄
delete from students where grade = 0;
//(刪除全部數據)
delete from students;

4. 查(select)

  • 查詢全部列。
    select * from 【表名】 where 【條件】;

例如:查詢students中成績大于50的全部學生信息

//eg:查詢students中成績大于50的全部學生信息
select * from  students where grade>50;

  • 查詢個別列。
    select 【列名】 from 【表名】where 【條件】;

例如:查詢students中成績大于50的學生姓名

//eg:查詢students中成績大于50的學生姓名
select name from students where grade>50;

5. 改(update)

  • 根據篩選條件,將原字段改為新內容。
    update 【表名】set 【字段名】=【新內容】 where 【條件】;

例如:將students表中序號為1的學生的成績改為97;

//eg:將students表中序號為1的學生的成績改為97;
update students set grade = 97 where id = 1;

六、字符集

提問:一個漢字在JAVA(utf8)中占幾個字節(jié)?
答:3bit/字。

七、對表數據的進階操作

(提前)結論:所有的查詢條件產生的只是一個結果集,不會影響內存里的數據

1. as的使用方法

含義 : 重命名(表面的,不影響內存里的數據)[下面有證明圖片]
注意:只針對一個字段重命名
公式①:select 【字段 as 【重命名】,…】 from 【表名】
公式② select 【… , 字段】 as 【重命名】 from 【表名】

例如:將books中的id顯示為序號

//eg:將books中的id顯示為序號
//法一:
select id as '序號',name,author,price,kinds,year from books;
//法二:
select name,author,price,kinds,year,id as '序號' from books;

圖片展示
MYSQL基本命令和操作,攻克JAVA,mysql,數據庫

驗證: 內存里的數據沒變(即id沒變)
MYSQL基本命令和操作,攻克JAVA,mysql,數據庫

2. distinct的使用方法

含義 : 去重(將字段中重復的部分去掉)
并且只能放在字段前面

例如 : 顯示books中的year(去重)

//eg : 顯示books中的year(去重)
select distinct year from books;

圖示:
MYSQL基本命令和操作,攻克JAVA,mysql,數據庫

如果distinct后面接了很多的字段,那就將這些字段作為一組字段,并且顯示不重復的組字段.

3. order by 的使用方法

根據特定條件/字段排序
默認是升序[asc]
也可以在后面加上desc(降序)
注意!!!可識別別名

例如 : 在books表中,按照price的高低排序

//eg: 在books表中,按照price的高低排序
select * from books order by price;

[默認升序]
MYSQL基本命令和操作,攻克JAVA,mysql,數據庫
[降序]
MYSQL基本命令和操作,攻克JAVA,mysql,數據庫

4. where 的使用方法

4.1. like 模糊匹配

% : 代表0個字符或者N個字符
格式: like ‘%xxx’
_ : 代表一個字符
格式: like ‘_xxx’

注意: like前面可以加not 表示否定.

注意: like 后面一定要加 ’ ’ 或者 " " ;

例如:在books表中,找到唐xxx的author名MYSQL基本命令和操作,攻克JAVA,mysql,數據庫

4.2. between … and …

表示的是一個范圍區(qū)間,前閉后閉
between前面可以加not

例如: 在books表中,找出價格在[50,500]之間的書

//eg: 在books表中,找出價格在[50,500]之間的書
select * from books where price between 50 and 500;

MYSQL基本命令和操作,攻克JAVA,mysql,數據庫

4.3. and / or

作為條件: 且,或

例如: 在books表中,找出價格大于100并且(可換成或者)在2000以后發(fā)行的書

//eg:在books表中,找出價格大于100并且在2000以后發(fā)行的書
select * from books where price > 100 and year > 2000;

MYSQL基本命令和操作,攻克JAVA,mysql,數據庫

4.4. in ( … )

作為數值挑選項

例如: 在books表中,找出價格是50或者500之間的書

//eg:在books表中,找出價格是50或者500之間的書
select * from books where price in(50,500);

MYSQL基本命令和操作,攻克JAVA,mysql,數據庫

4.5. <==> 的使用方法

<==> : 嚴格比較兩個NULL值是否相等

例如: 找出books表中,author為NULL的信息;

select * from books where author <=> null;

MYSQL基本命令和操作,攻克JAVA,mysql,數據庫

5. limit 的使用方法

limit + 數字 : 分頁查詢(默認從下表為0的數據開始展示)
offset + 數字 : 聲明從哪一條開始查詢(默認從0開始)

例如: 顯示books表中的3條數據;

//eg:顯示books表中的3條數據;
select * from books limit 3;

MYSQL基本命令和操作,攻克JAVA,mysql,數據庫
例如: 顯示books表中的3條數據并從第二條數據開始(即下表為1的數據);

//eg:顯示books表中的3條數據并從第二條數據開始(即下表為1的數據);
select * from books limit 3 offset 1;

MYSQL基本命令和操作,攻克JAVA,mysql,數據庫

5.1. group by(where和having)

作用 : 分組,將列值相同的分到一組
注意 : 分組后 , 取(顯示)的是第一行數據

例如:顯示出一班和二班的總成績是多少?

select class,sum(score) from student group by class;

MYSQL基本命令和操作,攻克JAVA,mysql,數據庫

分組前篩選用where
例如 : 通過班級分組顯示分數>60的數據
select * from student where score>60 group by class;
注意!!!where無法識別select 到 from 之間的別名,但是可以識別from后的
MYSQL基本命令和操作,攻克JAVA,mysql,數據庫

分組后篩選用having
例如 : 通過班級分組顯示班級出現超過2次的數據.
select * from student group by class having count(class)>2;
注意!!!having前后最好字段一致
MYSQL基本命令和操作,攻克JAVA,mysql,數據庫

八、數據庫約束

目的: 為了提高效率和準確性
適用于在創(chuàng)建表的時候進行添加約束條件

1. not null

意思: 不為空
數據庫含義: 必填

例如: 創(chuàng)建一個book表,設置其中的書名(name)字段為不為空

create table book(
id int,
name varchar(20) not null,
author varchar(20));

已創(chuàng)建好的表添加 not null約束條件
alter table 表名 modify 字段 類型
例如:alter table student modify age int not null;
已創(chuàng)建好的表刪除 not null約束條件
alter table 表名 modify 字段 類型
例如:alter table student modify age int null;

2. unique

意思: 唯一的
數據庫含義: 唯一的,不可重復

例如: 創(chuàng)建一個book表,設置其中的id字段為唯一

create table book(
id int unique,
name varchar(20) ,
author varchar(20) );

已創(chuàng)建好的表添加unique約束條件
alter table 表名 add unique(字段) ;
已創(chuàng)建好的表刪除unique約束條件
alter table 表名 drop index 字段;

3. default

意思: 默認
數據庫含義: 如果表中未填寫,系統將會把默認值填入

例如: 創(chuàng)建一個book表,設置其中的作者字段為默認"未知"

create table book(
id int,
name varchar(20) ,
author varchar(20) default "未知");

已創(chuàng)建好的表修改default約束
alter table 【表名】alter 【字段】set default ‘xxx’ ;
已創(chuàng)建好的表刪除default約束
alter table 【表名】alter 【字段】drop default ;

4. primary key

意思: 主碼
數據庫含義: 唯一標識關系
是not null 和 unique 的總和

create table student(
sid int not null primary key,
gid int not null ,
name varchar(20),
age int,
grade int);

已創(chuàng)建好的表修改 primary key約束
alter table 表名 add primary key(字段);
已創(chuàng)建好的表刪除 primary key約束
alter table 表名 dop primary key;

5. foreign key

意思: 外碼
數據庫含義: 唯一標識關系

create table student(
sid int not null primary key,
gid int not null foreign key references 表名(字段),
name varchar(20),
age int,
grade int);

已創(chuàng)建好的表修改 foreign key約束
alter able 表名1 add foreign key(字段) references 表名2(字段名);
已創(chuàng)建好的表刪除 foreign key約束
alter table 表名 drop foreign key 外鍵名;

注意!!!查看外鍵名: show create table 表名 ;
MYSQL基本命令和操作,攻克JAVA,mysql,數據庫

九、聚合函數

1. count(…)

計算()出現的次數

例如:計算student表中,班級2的同學有幾個

//eg::計算student表中,班級2的同學有幾個
select class, count(class) from student group by class;

MYSQL基本命令和操作,攻克JAVA,mysql,數據庫

2. sum(…)

求和

例如: 求各班同學的總成績

//例如: 求各班同學的總成績
select class,sum(score) as sum from student group by class;

MYSQL基本命令和操作,攻克JAVA,mysql,數據庫

3. avg(…)

求平均數

例如 : 求各班同學成績的平均分

//例如 : 求各班同學成績的平均分
select class,avg(score) as sum from student group by class;

MYSQL基本命令和操作,攻克JAVA,mysql,數據庫

十、 聯合查詢

兩表或者多表聯合查詢

1. 多表查詢

//格式1:(兩/多表連接',')
select 列名 from 表名1,表名2 where (將表1的字段與表2的相連接)
//格式2:(兩表連接join)
select 列名 from 表名1 join2 on (字段連接)
//格式3:(多表連接join)
select 列名 from 表名1 join2 on (字段連接) join3 on 條件

2. 內外連接

2.1. 內連接(用的最多)

只顯示共有部分
公式 : 就是上面的兩表連接操作
select 列名 from 表名1 join 表2 on (字段連接)
MYSQL基本命令和操作,攻克JAVA,mysql,數據庫

2.2. 左外連接

以左側表為主,左側表的內容全部顯示,如果右側沒有對應的,補null
格式 : select 列名 from 表名1 left join 表2 on (字段連接)
MYSQL基本命令和操作,攻克JAVA,mysql,數據庫

2.3. 右外連接

以右側表為主,右側表的內容全部顯示,如果左側沒有對應的,補null
格式 : select 列名 from 表名1 right join 表2 on (字段連接)
MYSQL基本命令和操作,攻克JAVA,mysql,數據庫

3. 自連接

同一張表
例如:查詢同一張表里同時選修了課程1和課程2的學生信息

select * from stu_class as s1,stu_class as s2 where s1.id = s2.id and s1.class = s2.class ;

4. 子查詢

//格式:
select * from1 where id = (select id from2 where 條件);

5. 合并查詢

5.1. union

可用于多個表的查詢結果合并
注意 : union all 不會自動去重
== union 會自動去重==

//格式:
select * fromwhere 條件 union select * fromwhere 條件;

6. 索引

目的: 提高查找速度
消耗 : 需要額外的空間代價來保存索引數據, 若數據過于龐大,存在危險

6.1. 查看索引

show index from 表名;

6.2. 創(chuàng)建索引

create index 索引名 on 表名(列名);
若后建索引存在危險,最好是建表時就設計好表的結構
做法 : 加上主鍵或者unique,這些都是自帶索引的約束條件

6.3. 刪除索引

drop index 索引名 on 表名;
注意 : 所有的刪除都存在風險文章來源地址http://www.zghlxwxcb.cn/news/detail-655182.html


感謝家人的閱讀,若有不準確的地方 歡迎在評論區(qū)指正!

到了這里,關于MYSQL基本命令和操作的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • MYSQL數據庫基本操作-DQL-基本查詢

    MYSQL數據庫基本操作-DQL-基本查詢

    一.概念 數據庫管理系統一個重要功能就是數據查詢。數據查詢不應是簡單返回數據庫中存儲的數據,還應該根據需要對數據進行篩選以及確定數據以什么樣的格式顯示。 MySQL提供了功能強大,靈活的語句來實現這些操作。 MySQL數據庫使用select語句來查詢數據。 二:語法 ?

    2024年01月25日
    瀏覽(24)
  • 【Mysql】數據庫基礎與基本操作

    【Mysql】數據庫基礎與基本操作

    ??個人主頁:平凡的小蘇 ??學習格言:命運給你一個低的起點,是想看你精彩的翻盤,而不是讓你自甘墮落,腳下的路雖然難走,但我還能走,比起向陽而生,我更想嘗試逆風翻盤 。 ?? Mysql專欄 : Mysql內功修煉基地 家人們更新不易,你們的??點贊??和?關注?真的對我

    2024年02月13日
    瀏覽(19)
  • 1.MySQL數據庫的基本操作

    1.MySQL數據庫的基本操作

    數據庫操作過程: 1.用戶在客戶端輸入 SQL 2.客戶端會把 SQL 通過網絡發(fā)送給服務器 3.服務器執(zhí)行這個 SQL,把結果返回給客戶端 4.客戶端收到結果,顯示到界面上 這里的數據庫不是代表一個軟件,而是代表一個數據集合。 語法: 大寫的表示 [] 是可選項 CHARACTER SET: 指定數

    2024年02月12日
    瀏覽(19)
  • MySQL數據庫——DDL基本操作

    MySQL數據庫——DDL基本操作

    DDL 操作是與數據庫結構相關的操作,它們不涉及實際的數據操作,而是用于管理數據庫的結構和元數據。今天我將為大家分享關于MySQL數據庫的DDL操作。 SQL 功能 show databases; 查看所有的數據庫 create database [if not exists] 數據庫名 [charset/character=utf8]; 創(chuàng)建數據庫 use 數據庫名; 選

    2024年02月15日
    瀏覽(36)
  • MySQL數據庫——DML基本操作

    MySQL數據庫——DML基本操作

    前面我們學習了MySQL——DDL操作,對數據庫和表的結構的操作,那么今天我將為大家分享MySQL——DML操作,對表數據的操作。 MySQL DML操作有以下幾種: 插入操作(INSERT):用于向數據庫中插入新的數據行。可以一次插入單行數據,也可以使用一條SQL語句一次性插入多行數據。

    2024年02月15日
    瀏覽(22)
  • 【MySQL數據庫重點】第二節(jié):MySQL基礎知識(基本操作)

    目錄 一:數據庫的操作 1.顯示數據庫 2.創(chuàng)建數據庫 3.使用數據庫 4.刪除數據庫 二:常用數據類型 1.數值類型:整型和浮點型 2.字符串類型 3.日期類型 三:表的操作 1.查看表結構 2.創(chuàng)建表 3.刪除表 1.顯示數據庫 語法: show databases;? 2.創(chuàng)建數據庫 (1)簡化語法 create database?數

    2024年02月08日
    瀏覽(24)
  • MySQL 數據庫的命令操作

    MySQL 數據庫的命令操作

    1.數據 (Data) 描述事物的符號記錄 包括數字,文字、圖形、圖像、聲音、檔案記錄等 以“記錄”形式按統一的格式進行存儲 2.表 將不同的記錄組織在一起 用來存儲具體數據 3.數據庫 表的集合,是存儲數據的倉庫 以一定的組織方式存儲的相互有關的數據集合 是按照數據結構

    2024年02月09日
    瀏覽(23)
  • MySQL 數據庫表的基本操作

    在數據庫中,數據表是數據庫中最重要、最基本的操作對象,是數據存儲的基本單位。數據表被定義為列的集合,數據在表中是按照行和列的格式來存儲的。每一行代表一條唯一的記錄,每一列代表記錄中的一個域。 通常在創(chuàng)建表時,應該使用語句USE 數據庫名,指定在哪個

    2024年02月12日
    瀏覽(19)
  • MySQL數據庫和表的基本操作

    MySQL數據庫和表的基本操作

    MySQL是一個客戶端服務器結構的程序 主動發(fā)送數據的這一方,客戶端(client) 被動接受數據的這一方,服務器(server) 客戶端給服務器發(fā)送的數據叫做: 請求(request) 服務器給客戶端發(fā)送的數據叫做: 響應(response) 客戶端和服務器之間是通過網絡進行通信的 服務器是存儲數據的主體

    2024年01月19日
    瀏覽(37)
  • MySQL數據庫---庫基本操作 以及 表結構的操作(DDL)

    MySQL數據庫---庫基本操作 以及 表結構的操作(DDL)

    目錄 前言 一.數據庫的操作 1.1顯示當前數據庫 1.2創(chuàng)建數據庫 1.3使用數據庫? 1.4刪除數據庫 ?二.數據類型 2.1數值類型 2.2字符串類型 2.3日期類型 三.數據表的操作 ?3.1?創(chuàng)建表結構。 ?3.2查看數據庫中擁有的數據表 ?3.3查看指定的表結構 ??3.4修改表結構 ??3.5刪除表結構 ?

    2024年02月09日
    瀏覽(21)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包