檢視當前mysql
中所有的資料庫命令:
show databases
;
使用某個資料庫(如:zhiliao):
use zhiliao
;
檢視資料庫的資訊(如:zhiliao):
show create database zhiliao
;
修改資料庫選項,如修改zhiliao這個資料庫的字元編碼:
alter database zhiliao charset utf8
;
刪除資料庫(如:zhiliao):
drop database zhiliao
;
建立資料庫(如:zhiliao):
create database if not exists zhiliao
;
建立表(如:article):
create table article (id int primary key auto_increment,title varchar(255)) engine=innodb charset=utf8
;
檢視當前資料庫有哪些表:
show tables
;
檢視建表語句(如:article):
show create table article
;
查詢表結構(如:article):
desc article
;
修改表選項(表引擎和字符集,如:article):
alter table article engine=myisam charset=gbk
;
修改表名(如:修改artielc成blog):
rename table article to blog
;
修改表結構——增加字段(如:article):
alter table article add column content text after title
;
語法如下:alter table_name add column 欄位名稱和型別 字段位置
修改表結構——刪除字段(如:article):
語法:alter table_name drop column column_name;
alter article drop column content;
修改表結構——修改已有字段(如:article):
語法:alter table table_name modify column column_name 新的定義
alter table article modify column content varchar(200) after id;
修改表結構——字段改名(如:article):
語法:alter table table_name change column原欄位名 新欄位名 新字段定義
alter table article change column content arti_content text after title;
17. 刪除表(如:article):
語法:drop table if exists 表名
drop table if exists article;
資料操作——增加(如:article):
語法:insert into 表名 (字段列表) values(與字段相對的值列表)
insert into article (id,title,content) values(null,』鋼鐵是怎樣煉成的』,content=』』);
如果id是自增長的,可以不用寫,或者寫了,直接給個null。如果不是自增長的,則必須寫。只有在一些不能暴露資料量的情況下才會考慮使用非自增長的id,因為id必須唯一,所以如果不是子增長的,一般採用uuid。
資料操作——查詢(如:article):
語法:select 字段列表 from 表名 [where 條件表示式]
select id,title ,content from article where id > 5;
資料操作——刪除(如:article):
語法:delete from 表名 where 條件
delete from article where id=10;
資料操作——更新(如:article):
語法:update 表名 set 字段=新值 where 條件;
update article set title=』水滸傳讀後感』 where id=10;
mysql的資料型別:
(1)整形(tinyint/smallint/mediumint/int/bigint):
常用的是tinyint和int。
如果需要設定大於0的,可以使用無符號整形:int unsigned。
如果需要設定整形在選擇出來的時候顯示的寬度,可以使用int(m)這種方式。
注意:mysql中,沒有布林型別!但是存在boolean這個關鍵字,其實是用tinyint(1)替代的。
(2)浮點型(float/double):
單精度,float,4個位元組
雙精度,double,8個位元組
在定義浮點數的時候,一般需要指明有小尾數和小數點後的位數
float(m,d)
double(m,d)
m:所有的有效位數
d:其中的小數字數
浮點數只是乙個近似值,不是精確值!如果乙個數特別大,接近最大值,很可能會出錯,比如:
這個時候,應該使用定點數。
(3)定點數(decimal):
與定義浮點數一樣,也有有效位數和小數點後尾數,但他不是以數的形式儲存,他儲存是類似於字串的形式。
decimal(m,d)
```
(4)字元型別(char/varchar/text):
char:定長的字串型別,用於儲存長度固定的內容,速度快,但是儲存變長資料,會浪費儲存空間!
varchar:可變長度的字串,用於儲存長度可變的資料,儲存長度可變的資料時,節省空間,但是處理起來沒有定長char快!
char(n)/varchar(n):n表示每個資料的最大長度!單位是字元數,不是位元組數。
n不是可以無限大的,最大不能超過65535,又由於乙個欄位中需要1到2個位元組儲存真實的資料長度,所以一般只能達到65533左右個字元。另外,因為字符集不同,有可能是utf8有可能是gbk,所以不同的字符集,能儲存的最大長度的位元組數也是不同的。
注意:平時我們使用時,如果超過255個字元,就使用text來儲存!
text:文字,不限度的字串。
選擇規則:
如果是定長,使用char。
如果是變長,但是小於255個字元,使用varchar
否則,使用text。
```
(5)列舉(enum):
在定義列舉型別的時候,需要列出哪些是能出現的,例如:
注意,插入的時候,不僅僅可以使用字元,也可以使用整形,比如以上圖,1表示male,2表示female,3表示secret,以此類推。
那麼在插入資料的時候,可以使用整形,比如:
enum是2個位元組,範圍從0-65535,因此最多可以有65535個選項。
(6)日期時間(datetime/timestamp/date/year/time/):
datetime:日期時間,用於儲存大範圍的日期時間,範圍是從:
『1000-01-01
00:00:00』到』9999-12-31
23:59:59』
在處理的時候,是使用字串的形式進行管理。
timestamp:時間戳,從1970-1-1開始,空間小,使用整形的形式管理,但是是以乙個字串的形式展示的。
date:日期,只記錄日期,不記錄時間採用date。
year:只儲存年份,採用乙個位元組儲存,因此表示1901-2155。
如果您對網路技術和python方面有興趣,歡迎**482869582進行交流學習哦! 資料庫知識總結
這是我關於之前學習資料庫一些知識的總結 首先資料庫分為兩種,關係型資料庫,如mysql,還有非關係型資料庫,如nosql。這裡主要是對比較常用的關係型資料庫進行的總結。關係型資料庫是基於關係代數理論的,它的優缺點 優點 健壯性強,社群龐大 缺點 表結構不直觀,實現複雜,速度慢 join會做乙個笛卡爾...
資料庫知識總結
1.資料庫的基本概念 2.mysql資料庫軟體 安裝解除安裝 配置3.sql 1.資料庫的英文單詞 database 簡稱 db 2.什麼是資料庫?3.資料庫的特點 持久化儲存資料。其實資料庫就是乙個檔案系統 方便儲存和管理資料 使用了統一的方式運算元據庫 sql 4.常見的資料庫軟體 mysql的...
資料庫基礎常用知識
一,關聯式資料庫三大正規化 第一正規化要求每一列都不可再分,即要滿足原子性,這也是關聯式資料庫設計中最基本都要求。第二正規化是在它基礎上要求所有非主鍵列都要完全依賴主鍵列,而不能只依賴部分主鍵列 若有此情況,應該拆分表 第三正規化是在第二正規化基礎上要求所有非主鍵列都必須要直接依賴主鍵列,而不是依賴...