日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

MySQL创建和操纵数据库和表(DDL)最全总结(小白都能能懂哦)

發(fā)布時間:2024/10/14 数据库 105 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MySQL创建和操纵数据库和表(DDL)最全总结(小白都能能懂哦) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

1.操作數(shù)據(jù)庫

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

create + database + 數(shù)據(jù)庫名稱

當(dāng)然如果我們不知道數(shù)據(jù)庫是否存在,如果存在就不創(chuàng)建,不存在就創(chuàng)建可以用以下語句

create + database + if not exists + 數(shù)據(jù)庫名稱

我們還可以在創(chuàng)建數(shù)據(jù)庫的時候指定字符集

create + dabase + if not exists + 數(shù)據(jù)庫名 +character set + 字符集名

1.2查詢數(shù)據(jù)庫

查詢所有已經(jīng)存在的數(shù)據(jù)庫

show databases

查詢某個數(shù)據(jù)庫的創(chuàng)建語句和所使用的字符集

show create database + 數(shù)據(jù)庫名稱

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

修改數(shù)據(jù)庫字符集

alter database + 數(shù)據(jù)庫名稱 + character set + 字符集名稱

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

drop database +數(shù)據(jù)庫名

同樣的,也可以加上 if not exists

drop database + if exists + 數(shù)據(jù)庫名稱

1.5使用數(shù)據(jù)庫

使用數(shù)據(jù)庫

use + 數(shù)據(jù)庫名稱

查詢當(dāng)前正在使用數(shù)據(jù)庫的名稱

select database()

2.操作表

2.1MySQL數(shù)據(jù)類型
數(shù)據(jù)類型介紹
tinyint存儲1字節(jié)8位的整數(shù)
int/integer存儲4字節(jié)32位的整數(shù)
float存儲單精度浮點數(shù)
double存儲雙精度浮點數(shù)
char(n)存儲字符
varchar(n)存儲字符
date存儲日期,只包含年月日格式:yyyy-MM–dd
datetime存儲日期,包含年月日時分秒,格式:yyyy-MM-dd HH:mm:ss
timestamp存儲日期,包含年月日時分秒,格式:yyyy-MM-dd HH:mm:ss

問題1:varchar和char的特點和區(qū)別
char的特點:

1.char表示定長字符串,長度是固定的(比如char(5)即使不夠5個字符也是按5個字符存儲)
個字符也會按照5個字符存儲);
2.如果插入數(shù)據(jù)的長度小于char的固定長度時,則用空格填充;
3.因為長度固定,所以存取速度要比varchar快很多,甚至能快50%,但正因為其長度固定,所以會占據(jù)多余的空間,是空間換時間的做法;
4.對于char來說,最多能存放的字符個數(shù)為255,和編碼無關(guān)

varchar的特點:

1.varchar表示可變長字符串,長度是可變的(比如varchar(5)不夠5個字符,比如3個那么就按照三個字符存儲);
2.插入的數(shù)據(jù)是多長,就按照多長來存儲;
3.varchar在存取方面與char相反,它存取慢,因為長度不固定,但正因如此,不占據(jù)多余的空間,是時間換空間的做法;
4.對于varchar來說,最多能存放的字符個數(shù)為65532

兩者的區(qū)別:

結(jié)合性能角度(char更快)和節(jié)省磁盤空間角度(varchar更小)

還有一個點兩者都存儲字符

張三:代表兩個字符
zhangsan:代表八個字符

問題2:int(20)中20的涵義

是指顯示字符的長度。20表示最大顯示寬度為20,但仍占4字節(jié)存儲,存儲范圍不變;

不影響內(nèi)部存儲,只是影響帶 zerofill 定義的 int 時,前面補(bǔ)多少個 0,易于報表展示

問題3:float和double的區(qū)別是什么?

1.float類型數(shù)據(jù)可以存儲至多8位十進(jìn)制數(shù),并在內(nèi)存中占4字節(jié)。
2.double類型數(shù)據(jù)可以存儲至多18位十進(jìn)制數(shù),并在內(nèi)存中占8字節(jié)。

問題4:datetime和timestamp的區(qū)別?

對于類型為timestamp的字段來說,不給這個字段賦值或者給這個字段賦空值那么都會默認(rèn)使用當(dāng)前系統(tǒng)時間

2.2創(chuàng)建表

create table +表名(
列 數(shù)據(jù)類型,
列 數(shù)據(jù)類型,
.........
列 數(shù)據(jù)類型
)

有時候我們想 復(fù)制一個表的結(jié)構(gòu)

create table + 復(fù)制的新表名 + like + 被復(fù)制的表

有時候我們想 復(fù)制表的所有內(nèi)容:

create table + 復(fù)制的新表名 + select * from 要復(fù)制的表名
注意沒有l(wèi)ike

有時候我們 只復(fù)制部分內(nèi)容:

create table + 復(fù)制的新表名 + select語句

有時候我們 只復(fù)制部分表的字段結(jié)構(gòu)

create table + 復(fù)制的新表名 + select 需要復(fù)制的字段 +from 要復(fù)制的表 + where + 一個恒不成立的條件(如0=1)

2.3查詢表

查詢數(shù)據(jù)庫中所有的表的名稱

show tables

查詢表結(jié)構(gòu)

desc + 表名

2.4刪除表

drop table + if exists + 表名

2.5修改表

修改表名

alter table + 表名 + rename to + 新表名

修改表的字符集

alter table + 表名 + character set + 字符集名稱

添加一列

alter table + 表名 + add + (column) + 列 數(shù)據(jù)類型

修改列名稱

alter table + 表名 + change + (column) + 列名 新列名 數(shù)據(jù)類型

修改列類型

alter table 表名 modify + (column) + 列名 新的數(shù)據(jù)類型

刪除列

alter table + 表名 + drop 列名

總結(jié)

以上是生活随笔為你收集整理的MySQL创建和操纵数据库和表(DDL)最全总结(小白都能能懂哦)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。