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

MySQL數(shù)據(jù)庫(kù)基本操作

這篇具有很好參考價(jià)值的文章主要介紹了MySQL數(shù)據(jù)庫(kù)基本操作。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

數(shù)據(jù)庫(kù)常用操作

功能 sql
查看所有數(shù)據(jù)庫(kù) show databases;
創(chuàng)建數(shù)據(jù)庫(kù)

create? database [if not exists] mydb1 [charset=utf8]

切換數(shù)據(jù)庫(kù) use mydb1;
刪除數(shù)據(jù)庫(kù)

drop database?[if exists]?mydb1

修改數(shù)據(jù)庫(kù)編碼

alter database mydb1 character set utf8;

創(chuàng)建表格式

create table [if not exists]表名(
  字段名1 類型[(寬度)] [約束條件] [comment '字段說(shuō)明'],
  字段名2 類型[(寬度)] [約束條件] [comment '字段說(shuō)明'],
  字段名3 類型[(寬度)] [約束條件] [comment '字段說(shuō)明']
)[表的一些設(shè)置];
use mydb1;
create  table if not exists student(
    sid int,
    name varchar(20),
    gender varchar(20),
    age int,
    birth date, 
    address varchar(20),
    score double
);

數(shù)值類型

MySQL數(shù)據(jù)庫(kù)基本操作,數(shù)據(jù)庫(kù),oracle

字符串類型

MySQL數(shù)據(jù)庫(kù)基本操作,數(shù)據(jù)庫(kù),oracle

日期類型

MySQL數(shù)據(jù)庫(kù)基本操作,數(shù)據(jù)庫(kù),oracle

對(duì)表結(jié)構(gòu)其他操作

功能 sql
查看當(dāng)前數(shù)據(jù)庫(kù)所有名稱 show tables;
查看指定某個(gè)表創(chuàng)建的語(yǔ)句 show create table 表名;
查看表結(jié)構(gòu) desc 表名;
刪除表 drop table 表名;

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

alter table 表名 add 列名 類型(長(zhǎng)度) [約束];
alter table 表名 change 舊列名 新列名 類型(長(zhǎng)度) 約束; 

eg:

#為student表的dept字段更換為department varchar(30)

ALTER TABLE student change `dept` department VARCHAR(30); 

修改表刪除列

alter table 表名 drop 列名;

修改表名

rename table 表名 to 新表名;

數(shù)據(jù)插入

insert into 表 (列名1,列名2,列名3...) values (值1,值2,值3...); //向表中插入某些
insert into 表 values (值1,值2,值3...);     //向表中插入所有列

數(shù)據(jù)修改

update 表名 set 字段名=值,字段名=值...;
update 表名 set 字段名=值,字段名=值... where 條件;

eg:

-- 將所有學(xué)生的地址修改為重慶 
update student set address = '重慶’; 

-- 講id為1004的學(xué)生的地址修改為北京 
update student set address = '北京' where id = 1004 

-- 講id為1005的學(xué)生的地址修改為北京,成績(jī)修成績(jī)修改為100 
update student set address = '廣州',score=100 where id = 1005

數(shù)據(jù)刪除

delete from 表名 [where 條件];
truncate table  表名 或者 truncate 表名

注意:deletetruncate原理不同,delete只刪除內(nèi)容,而truncate類似于drop table ,可以理解為是將整個(gè)表刪除,然后再創(chuàng)建該表;

MySQL約束

分類

  • 主鍵約束
  • 自增長(zhǎng)約束
  • 非空約束
  • 唯一性約束
  • 默認(rèn)約束
  • 零填充約束
  • 外鍵約束
MySQL主鍵約束是一個(gè)列或者多個(gè)列的組合,其值能唯一地標(biāo)識(shí)表中的每一行,方便在RDBMS中盡快的找到某一行。

主鍵約束相當(dāng)于 唯一約束 + 非空約束 的組合,主鍵約束列不允許重復(fù),也不允許出現(xiàn)空值。

每個(gè)表最多只允許一個(gè)主鍵

主鍵約束的關(guān)鍵字是:primary key

當(dāng)創(chuàng)建主鍵的約束時(shí),系統(tǒng)默認(rèn)會(huì)在所在的列和列組合上建立對(duì)應(yīng)的唯一索引。

單列主鍵

創(chuàng)建單列主鍵有兩種方式:一種是在定義字段的同時(shí)指定主鍵,一種是定義完字段之后指定主鍵。

-- 在 create table 語(yǔ)句中,通過(guò) PRIMARY KEY 關(guān)鍵字來(lái)指定主鍵。
--在定義字段的同時(shí)指定主鍵,語(yǔ)法格式如下:
create table 表名(
   ...
   <字段名> <數(shù)據(jù)類型> primary key 
   ...
)

eg:

create table emp1(
    eid int primay key,
    name VARCHAR(20),
    deptId int,
    salary double
);

多列主鍵(聯(lián)合主鍵)

所謂聯(lián)合主鍵,就是這個(gè)主鍵由一張表中多個(gè)字段組成。

create table 表名(
   ...
   primary key (字段1,字段2,…,字段n)
);
create table emp3( 
  name varchar(20), 
  deptId int, 
  salary double, 
  primary key(name,deptId) 
);
刪除主鍵約束

格式:

alter table <數(shù)據(jù)表名> drop primary key;

自增長(zhǎng)約束

MySQL 中,當(dāng)主鍵定義為自增長(zhǎng)后,這個(gè)主鍵的值就不再需要用戶輸入數(shù)據(jù)了,而由數(shù)據(jù)庫(kù)系統(tǒng)根據(jù)定義自動(dòng)賦值。每增加一條記錄,主鍵會(huì)自動(dòng)以相同的步長(zhǎng)進(jìn)行增長(zhǎng)。通過(guò)給字段添加auto_increment屬性來(lái)實(shí)現(xiàn)主鍵自增長(zhǎng)。

字段名 數(shù)據(jù)類型?auto_increment
create table t_user1( 
  id int primary key auto_increment, 
  name varchar(20) 
);
默認(rèn)情況下,auto_increment的初始值是 1,每新增一條記錄,字段值自動(dòng)加 1。
一個(gè)表中只能有一個(gè)字段使用 auto_increment約束,且該字段必須有唯一索引,以避免序號(hào)重復(fù)(即為主鍵或主鍵的一部分)。
auto_increment約束的字段必須具備 NOT NULL 屬性。
auto_increment約束的字段只能是整數(shù)類型(TINYINT、SMALLINT、INT、BIGINT 等。
auto_increment約束字段的最大值受該字段的數(shù)據(jù)類型約束,如果達(dá)到上限,auto_increment就會(huì)失效。

非空約束

MySQL 非空約束(not null)指字段的值不能為空。對(duì)于使用了非空約束的字段,如果用戶在添加數(shù)據(jù)時(shí)沒(méi)有指定值,數(shù)據(jù)庫(kù)系統(tǒng)就會(huì)報(bào)錯(cuò)。

方式1:<字段名><數(shù)據(jù)類型> not null;
方式2:alter table 表名 modify 字段 類型 not null;
-- 方式1,創(chuàng)建表時(shí)指定
create table t_user6 ( 
  id int , 
  name varchar(20) not null, 
  address varchar(20) not null 
);
create table t_user7 ( 
  id int , 
  name varchar(20) , -- 指定非空約束 
  address varchar(20) -- 指定非空約束 
); 
alter table t_user7 modify name varchar(20) not null; 
alter table t_user7 modify address varchar(20) not null;

刪除非空約束

-- alter table 表名 modify 字段 類型 
alter table t_user7 modify name varchar(20) ; 
alter table t_user7 modify address varchar(20) ;

唯一約束

創(chuàng)建唯一約束

方式1:<字段名> <數(shù)據(jù)類型> unique
方式2: alter table 表名 add constraint 約束名 unique(列);
-- 創(chuàng)建表時(shí)指定
create table t_user8 ( 
 id int , 
 name varchar(20) , 
 phone_number varchar(20) unique -- 指定唯一約束 
);

刪除唯一約束

-- alter table <表名> drop index <唯一約束名>;
alter table t_user9 drop index unique_ph;

默認(rèn)約束

MySQL 默認(rèn)值約束用來(lái)指定某列的默認(rèn)值。

方式1: <字段名> <數(shù)據(jù)類型> default <默認(rèn)值>;
方式2: alter table 表名 modify 列名 類型 default 默認(rèn)值; 

添加默認(rèn)約束

create table t_user10 ( 
  id int , 
  name varchar(20) , 
  address varchar(20) default ‘北京’ -- 指定默認(rèn)約束 
);

刪除默認(rèn)約束

-- alter table <表名> modify column <字段名> <類型> default null; 

alter table t_user11 modify column address varchar(20) default null;

基本查詢

語(yǔ)法

select 
  [all|distinct]
  <目標(biāo)列的表達(dá)式1> [別名],
  <目標(biāo)列的表達(dá)式2> [別名]...
from <表名或視圖名> [別名],<表名或視圖名> [別名]...
[where<條件表達(dá)式>]
[group by <列名> 
[having <條件表達(dá)式>]]
[order by <列名> [asc|desc]]
[limit <數(shù)字或者列表>];
select *| 列名 from 表 where 條件

比較運(yùn)算符

MySQL數(shù)據(jù)庫(kù)基本操作,數(shù)據(jù)庫(kù),oracle

邏輯運(yùn)算符

MySQL數(shù)據(jù)庫(kù)基本操作,數(shù)據(jù)庫(kù),oracle

排序查詢

select 
 字段名1,字段名2,……
from 表名
order by 字段名1 [asc|desc],字段名2[asc|desc]……

特點(diǎn)

1.asc代表升序,desc代表降序,如果不寫默認(rèn)升序

2.order by用于子句中可以支持單個(gè)字段,多個(gè)字段,表達(dá)式,函數(shù),別名

3.order by子句,放在查詢語(yǔ)句的最后面。LIMIT子句除外

-- 1.使用價(jià)格排序(降序)
select * from product order by price desc;
-- 2.在價(jià)格排序(降序)的基礎(chǔ)上,以分類排序(降序)
select * from product order by price desc,category_id asc;
-- 3.顯示商品的價(jià)格(去重復(fù)),并排序(降序)
select distinct price from product order by price desc;

聚合函數(shù)

MySQL數(shù)據(jù)庫(kù)基本操作,數(shù)據(jù)庫(kù),oracle

-- 1 查詢商品的總條數(shù)
select count(*) from product;
-- 2 查詢價(jià)格大于200商品的總條數(shù)
select count(*) from product where price > 200;
-- 3 查詢分類為'c001'的所有商品的總和
select sum(price) from product where category_id = 'c001';
-- 4 查詢商品的最大價(jià)格
select max(price) from product;
-- 5 查詢商品的最小價(jià)格
select min(price) from product;
-- 6 查詢分類為'c002'所有商品的平均價(jià)格
select avg(price) from product where category_id = 'c002';

1、count函數(shù)對(duì)null值的處理

如果count函數(shù)的參數(shù)為星號(hào)(*),則統(tǒng)計(jì)所有記錄的個(gè)數(shù)。而如果參數(shù)為某字段,不統(tǒng)計(jì)含null值的記錄個(gè)數(shù)。

2、sumavg函數(shù)對(duì)null值的處理

這兩個(gè)函數(shù)忽略null值的存在,就好象該條記錄不存在一樣。

3、maxmin函數(shù)對(duì)null值的處理

?maxmin兩個(gè)函數(shù)同樣忽略null值的存在。

分組查詢

分組查詢是指使用group by字句對(duì)查詢信息進(jìn)行分組

select 字段1,字段2… from 表名 group by 分組字段 having 分組條件;
-- 1 統(tǒng)計(jì)各個(gè)分類商品的個(gè)數(shù)
select category_id ,count(*) from product group by category_id ;

分頁(yè)查詢

-- 方式1-顯示前n條
select 字段1,字段2... from 表明 limit n
-- 方式2-分頁(yè)顯示
select 字段1,字段2... from 表明 limit m,n
m: 整數(shù),表示從第幾條索引開始,計(jì)算方式 (當(dāng)前頁(yè)-1)*每頁(yè)顯示條數(shù)
n: 整數(shù),表示查詢多少條數(shù)據(jù)
-- 查詢product表的前5條記錄 
select * from product limit 5 

-- 從第4條開始顯示,顯示5條 
select * from product limit 3,5

Insert into select語(yǔ)句

將一張表的數(shù)據(jù)導(dǎo)入到另一張表中,可以使用INSERT INTO SELECT語(yǔ)句

insert into Table2(field1,field2,…) select value1,value2,… from Table1 或者:
insert into Table2 select * from Table1

要求目標(biāo)表Table2必須存在

將一張表的數(shù)據(jù)導(dǎo)入到另一張表中,有兩種選擇 SELECT INTO INSERT INTO SELECT

SELECT vale1, value2 into Table2 from Table1

要求目標(biāo)表Table2不存在,因?yàn)樵诓迦霑r(shí)會(huì)自動(dòng)創(chuàng)建表Table2,并將Table1中指定字段數(shù)據(jù)復(fù)制到Table2中。

正則表達(dá)式

MySQL數(shù)據(jù)庫(kù)基本操作,數(shù)據(jù)庫(kù),oracle

MySQL數(shù)據(jù)庫(kù)基本操作,數(shù)據(jù)庫(kù),oracle文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-787321.html

到了這里,關(guān)于MySQL數(shù)據(jù)庫(kù)基本操作的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【Mysql】數(shù)據(jù)庫(kù)基礎(chǔ)與基本操作

    【Mysql】數(shù)據(jù)庫(kù)基礎(chǔ)與基本操作

    ??個(gè)人主頁(yè):平凡的小蘇 ??學(xué)習(xí)格言:命運(yùn)給你一個(gè)低的起點(diǎn),是想看你精彩的翻盤,而不是讓你自甘墮落,腳下的路雖然難走,但我還能走,比起向陽(yáng)而生,我更想嘗試逆風(fēng)翻盤 。 ?? Mysql專欄 : Mysql內(nèi)功修煉基地 家人們更新不易,你們的??點(diǎn)贊??和?關(guān)注?真的對(duì)我

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

    1.MySQL數(shù)據(jù)庫(kù)的基本操作

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

    2024年02月12日
    瀏覽(19)
  • MySQL數(shù)據(jù)庫(kù)——DML基本操作

    MySQL數(shù)據(jù)庫(kù)——DML基本操作

    前面我們學(xué)習(xí)了MySQL——DDL操作,對(duì)數(shù)據(jù)庫(kù)和表的結(jié)構(gòu)的操作,那么今天我將為大家分享MySQL——DML操作,對(duì)表數(shù)據(jù)的操作。 MySQL DML操作有以下幾種: 插入操作(INSERT):用于向數(shù)據(jù)庫(kù)中插入新的數(shù)據(jù)行??梢砸淮尾迦雴涡袛?shù)據(jù),也可以使用一條SQL語(yǔ)句一次性插入多行數(shù)據(jù)。

    2024年02月15日
    瀏覽(21)
  • MySQL 數(shù)據(jù)庫(kù)表的基本操作

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

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

    MySQL數(shù)據(jù)庫(kù)和表的基本操作

    MySQL是一個(gè)客戶端服務(wù)器結(jié)構(gòu)的程序 主動(dòng)發(fā)送數(shù)據(jù)的這一方,客戶端(client) 被動(dòng)接受數(shù)據(jù)的這一方,服務(wù)器(server) 客戶端給服務(wù)器發(fā)送的數(shù)據(jù)叫做: 請(qǐng)求(request) 服務(wù)器給客戶端發(fā)送的數(shù)據(jù)叫做: 響應(yīng)(response) 客戶端和服務(wù)器之間是通過(guò)網(wǎng)絡(luò)進(jìn)行通信的 服務(wù)器是存儲(chǔ)數(shù)據(jù)的主體

    2024年01月19日
    瀏覽(37)
  • 頭歌 MySQL數(shù)據(jù)庫(kù) - 數(shù)據(jù)庫(kù)和表的基本操作(一)答案

    頭歌 MySQL數(shù)據(jù)庫(kù) - 數(shù)據(jù)庫(kù)和表的基本操作(一)答案

    第1關(guān):查看表結(jié)構(gòu)與修改表名 編程要求 根據(jù)提示,在右側(cè)編輯器補(bǔ)充代碼: 把數(shù)據(jù)表 tb_emp 改名為 jd_emp ; 查看該數(shù)據(jù)庫(kù)下數(shù)據(jù)表的列表; 查看數(shù)據(jù)表 jd_emp 的 基本結(jié)構(gòu) 。 第2關(guān):修改字段名與字段數(shù)據(jù)類型 編程要求 根據(jù)提示,在右側(cè)編輯器補(bǔ)充代碼: 把數(shù)據(jù)表 tb_emp 的字

    2024年02月01日
    瀏覽(166)
  • MySQL數(shù)據(jù)庫(kù)---庫(kù)基本操作 以及 表結(jié)構(gòu)的操作(DDL)

    MySQL數(shù)據(jù)庫(kù)---庫(kù)基本操作 以及 表結(jié)構(gòu)的操作(DDL)

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

    2024年02月09日
    瀏覽(21)
  • 【MySQL數(shù)據(jù)庫(kù)重點(diǎn)】第二節(jié):MySQL基礎(chǔ)知識(shí)(基本操作)

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

    2024年02月08日
    瀏覽(24)
  • MySQL 數(shù)據(jù)庫(kù)實(shí)用指南:測(cè)試數(shù)據(jù)準(zhǔn)備、SQL語(yǔ)句規(guī)范與基本操作

    MySQL 數(shù)據(jù)庫(kù)實(shí)用指南:測(cè)試數(shù)據(jù)準(zhǔn)備、SQL語(yǔ)句規(guī)范與基本操作

    歡迎來(lái)到小K的MySQL專欄,本節(jié)將為大家準(zhǔn)備MySQL測(cè)試數(shù)據(jù)、以及帶來(lái)SQL語(yǔ)句規(guī)范、數(shù)據(jù)庫(kù)的基本操作的詳細(xì)講解 要學(xué)習(xí)SQL查詢語(yǔ)句,首先必須解決一個(gè)問(wèn)題,數(shù)據(jù)問(wèn)題。為了方便大家學(xué)習(xí)閱讀我的文章,在這里提供了一個(gè)test.sql文件 ? 登錄MySQL,輸入 source xxx/test.sql 導(dǎo)入sql文

    2024年02月08日
    瀏覽(33)
  • 【MySQL】數(shù)據(jù)庫(kù)的增刪改查、備份、還原等基本操作

    【MySQL】數(shù)據(jù)庫(kù)的增刪改查、備份、還原等基本操作

    大寫的表示 [] 是可選項(xiàng) CHARACTER SET: 指定數(shù)據(jù)庫(kù)采用的字符集 COLLATE: 指定數(shù)據(jù)庫(kù)字符集的校驗(yàn)規(guī)則 創(chuàng)建數(shù)據(jù)庫(kù)的時(shí)候,有兩個(gè)編碼集: 1.數(shù)據(jù)庫(kù)編碼集——數(shù)據(jù)庫(kù)未來(lái)存儲(chǔ)數(shù)據(jù) 2.數(shù)據(jù)庫(kù)校驗(yàn)集——支持?jǐn)?shù)據(jù)庫(kù)進(jìn)行字段比較使用的編碼,本質(zhì)也是一種讀取數(shù)據(jù)庫(kù)中數(shù)據(jù)采

    2024年02月08日
    瀏覽(86)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包