mysql學習筆記(二)mysql快速入門

快速入門命令:

資料庫的增刪改查

不區分大小寫

1.顯示所有資料庫:show databases;

2.使用資料庫(進入資料庫):use 資料庫名稱;

3.添加資料庫:CREATE DATABASE 資料庫名稱;

4.刪除資料庫:drop database 資料庫名稱;

5.修改資料庫:這個不存在,除非備份數據以後建新庫

表的增刪改查

如果數據包含中文,要考慮編碼問題,可以調整命令行的編碼格式

1.顯示所有的表:show tables;

2.新建表:create table 表名(表項名 表項類型,表項名 表項類型 ……);

3.刪除表:drop table 表名;

4.修改表: alter table 表名 rename to 新表名;

3.在表中插入數據:insert into 表名 values(表項值, 表項值);

4.在表中刪除數據:delete from 表名 where (表項名=XXX);

5.在表中更新數據:update 表名 set 表項名=表項新值 where 表項名=表項舊值;

6.在表中查詢數據: select * from 表名 where 表項名=表項舊值;

數據表常用的數據類型

1.整型(tinyint 1位元組,smallint 2位元組,mediumint 3位元組,int/integer 4位元組,bigint 8位元組)

可選屬性:

M:在0填充的時候才有意義

unsigned:無符號類型

zerofill:0填充

例如int(5) unsigned zerofill:表示每一個整數有5位數字,不足5位在左邊補充0,如果只是單獨的int(5)那不會起作用。

2.浮點型(float 4個位元組,double 8個位元組)

float(M,D),M表示總位數,D表示精度

例如float(5,2)的數據範圍就可表示為[-999.99~+999.99]

3.定點數(類似於java的bigdecimal,使用字元串存儲)

decimal

decimal(M,D)

4.日期和時間

date:表示日期

time:表示時間

datetime:表示日期和時間

year:表示年

timestamp:表示日期和時間

datetime和timestamp的區別:timestamp實際存儲的毫秒值,顯示時,根據毫秒值算出一個本地化的日期時間,datetime就是存儲的日期時間,timestamp因為存儲的毫秒值,在比較和計算時,效率比較高。datetime和timestamp可以表示的時間範圍是不同的。datetime是1000.01.01……timestamp是1970.01.01…….

5.字元串

mysql沒有單字元類型,只有字元串類型

char:定長字元串,長度為[1,255],char(1)/char,char(x),長度為1個字元的字元串或者長度為x個字元的字元串,例如char(2),實際存儲的是"男」,實際也是佔用2個字元的位置,另一個空的位置存儲的為u0000,表示這個字元是unicode值。

mysql是按照字元為基本單位來存儲的,而不是位元組。https://www.cnblogs.com/devcjq/articles/5151172.html

varchar:varchar(M),這個M指最長不超過M個字元,varchar存儲的空間為字元數+2個位元組數,這兩個位元組用來記錄實際佔用的字元個數。

text:長文本,一般用於存儲文字較多又不經常檢索的資訊。

6.位類型

二進位的位類型,bit(M)允許存儲M位值,M的範圍為1~64,默認為1

7.二進位數據

blob系列類型,binary和varbinary類型類似於char和varchar,但他們存儲的是二進位數據

8.枚舉(enum)