數據類型和操作數據表 2.1 MySQL類型之整型 2.2 MySQL數據類型之浮點型 2.3 日期時間型 DATE 1支持時間:1000年1月1日~9999年12月31日 DATETIME 3 支持時間:1000年1月1日0時0秒~9999年12月31日23時59分59秒 TIMESTAMP 3 ...
數據類型和操作數據表
2.1 MySQL類型之整型
2.2 MySQL數據類型之浮點型
2.3 日期時間型
DATE 1支持時間:1000年1月1日~9999年12月31日
DATETIME 3 支持時間:1000年1月1日0時0秒~9999年12月31日23時59分59秒
TIMESTAMP 3 支持時間:1970年1月1日~2037年12月31日
TIME 8 支持時間:-8385959~8385959
YEAR 4 支持時間:1970-2069
2.4 字元型
CHAR:定長,不足則後面補空格
VARCHAR:不定長(可變的: variable)
L+1或L+2里多出來的位元組是用來保存數據值的長度的。在對長度可變的數據進行處理時,MySQL要把數據內容和數據長度都保存起來。
1指L的最大存儲範圍,1個位元組即8個1。
對於有符號數最高位為符號位,但是字元型是無符號數,所以2^7+2^6+2^5+2^4+2^3+2^2+2^1+1=255,即第一個L<=255。
四種數據類型:
整型:TINYINT SMALLINT MEDIUMINT BIGINT
浮點型:FLOAT or DOUBLE[(M,D)] M是數字的總位數 D是小數點後的位數
日期時間類型:用的較少,多以時間戳的形式存儲
- 字元型 char(5) 五個位元組長的char類型
2.5創建數據表
數據表(或稱表)是資料庫最重要的組成部分之一,是其他對象的基礎.
USE:打開數據表
USE 資料庫名稱; MySQL登錄步驟:
1.輸入用戶名-u
2.輸入密碼-p
3.輸入埠號-P(大寫)
展示所有資料庫:show databases
打開將要執行的資料庫:use database 庫名
展示一打開的資料庫:設了select database
CREATE TABLE tb1(
username VARCHAR(20),
age TINYINT UNSIGNED,
salary FLOAT(8,2) UNSIGNED
);
//創建了張tb1表,包含用戶名,年齡,工資.
2.6 查看數據表
SHOW TABLES [FROM db_name] [LIKE 'pattern' | WHERE expr]
2.7 查看數據表結構
SHOW COLUMNS FROM tbl_name
2.8 MySQL記錄的插入與查找
插入記錄:INSERT [INTO] tblname [(colname,...)] VALUES(val,..)
insert into tb1 values('jack',18,6000.00);
記錄查找:SELECT expr,... FROM tbl_name;
select * from tb1;
2.9 MySQL空值 與 非空
NULL ,欄位值可以為空
NOT NULL ,欄位值禁止為空
在插入欄位的時候添加NULL和NOT NULL
2.10 自動編號
AUTO_INCREMENT
自動編號,且必須與主鍵組合使用
預設情況下,起始值為1,每次的增量為1;
2.11 初涉主鍵約束:
PRIMARY KEY
主鍵約束
每張數據表只能存在一個主鍵
主鍵保證記錄的唯一性
主鍵自動為NOT NULL
AUTO_INCREMENT一定要跟PRIMARY KEY一起使用,
但是PRIMAYR KEY 不一定要跟AUTO_INCREMENT一起使用.
2.12 初涉唯一約束
UNIQUE KEY
唯一約束
唯一約束可以保證記錄的唯一性
唯一約束的欄位可以為空值(NULL)
每張數據表可以存在多個唯一約束
create table tb5(
id smallint unsigned auto_increment primary key,
username VARCHAR(20) NOT NULL UNIQUE KEY,
age tinyint UNSIGNED
);
2.13 預設約束
DEFAULT
預設值
當插入記錄時,如果沒有明確為欄位賦值,則自動賦予預設值.
create table tb6(
id smallint unsigned auto_increment primary key,
username varchar(20) not null unique key,
sex enum('1','2','3') default '3'
);