mysql數據類型
mysql支持多種類型,大體能夠分爲三類:數值、日期/時間和字符串(字符)類型。
1.整型:
.1.tinyint(m):1個字節 範圍是(-128~127)
.2.smallint(m):2個字節 範圍是 (-32768~32767)
.3.medidumint(m):3個字節 範圍是 (-8388608~8388607)
.4.int(m):4個字節 範圍是(-2147483648~2147483647)
.5.bigint(m): 8個字節 範圍是 (+-9.22*10的18次方)
2.浮點數(float和double):
.1.float(m,d): 單精度浮點型 8位精度(4字節) m總字數,d小數位
.2.double(m,d):雙精度浮點型 16位精度(8字節) m總字數,d小數位
注:
設一個字段定義爲float(5,3),若是插入一個數123.45678,實際數據庫裏存的是123.457,但總個數還以實際爲準,即6位。
#必須精度時用雙精度。
3.定點數:
浮點型在數據庫中存放的是近似值,而定點類型在數據庫中存放的是精確值。
decimal(m,d)參數m<65是總個數,d < 30 且 d < m 是小位數。
utf-8
一個英文字符等於一個字節,一箇中文三個字節。
4.字符串(char,varchar,_text)
.1.char(n) :固定長度,最多255個字符
.2.varchar(n) :固定長度,最多65535個字符
.3.tinytexe :可變長度,最多255個字符
.4.text :可變長度,最多65535個字符
.5.mediumtext :可變長度,最多2的24次方-1個字符
.6.longtext :可變長度,最多2的32次方-1個字符
5.日期時間類型
.1.date :日期‘2008-12-2’
.2.time :時間‘12:25:36’
.3.datetime :日期時間‘2008-12-2 22:06:44’
.4.timestamp :自動存儲記錄修改時間
#timestamp 設計時間差的時候運用
6.數據類型bit
bit稱爲數據類型,其數據有兩種取值:0和1,長度爲1位。在輸入0之外的其餘值時,系統均把它們當1看待。這種數據類型常做爲邏輯變量使用,用來表示真、假或是。否等二值選擇。
#例句: bit 0and1
通常運用在判斷 性別、真假。
——————————————————————————
數據類型的屬性
.1.null :數據列可包含null值
.2.not null : 數據列不容許包含null值
.3.default : 默認值
.4.primary key : 主鍵
.5.auto_increment : 自動遞增,適用於整數類型
.6.unsigned :無符號
.7.character set name : 指定一個字符集
#primary key 主鍵 又稱 元首鍵 (主鍵不能爲空)
#auto_increment 自動遞增,永遠跟隨着「主鍵」,且只能有一個。
數據庫類型的屬性,重點是主鍵(primary key)和自動增加(auto_ubcrement),理解主鍵的含義。
主鍵的含義:
表中的每一行都應該具備能夠惟一標識本身的一列(或一組列),而這個承擔標識做用的列表爲主鍵。
通俗點說,主鍵就至關於每一行的身份證。
若是沒有主鍵,數據的管理將會十分混亂。好比會存在多條如出一轍的記錄,沒有一個像身份證同樣的主鍵,刪除和修改將會十分困難。
——————————————————————————
命令行操做
1.查看數據庫下有哪些表
輸入:
show tables;
回車顯示:
2.建立表
格式:
create table 表名(
字符段名 數據類型 數據類型的屬性,
字符段名 數據類型 數據類型的屬性 default"備註"
);
#default"" 設置默認的意思,無關緊要。
#「,」用來分割字符段。
輸出:
create table classes(
id INT unsigned primary key auto_increment not null, name varchar(30) not null default ''
);
回車顯示:
表示建立成功。
3.修改表名
格式:
alter table 表名 rename to 新表名;
輸入:
alter table classes rename to cool;
回車顯示:
表示更改爲功。
4.刪除表
格式:
drop table 表名;
輸出:
drop table cool;
回車顯示:
表示刪除成功。
5.查詢表信息
格式:
select * from 表名;
輸出:
select * from classes;
回車顯示:
這是查詢的表信息。
6.向表內插入數據
格式:
insert into 表名 values();
輸出:
insert into classes values(0,'一年級'),(0,'二年級');
回車顯示:
表示插入成功。
7.刪除數據(針對數據的)
格式:
delete from 表名 where id = 1;
輸出:
delete from classes where id = 1;
回車顯示:
表示成功刪除id爲1的數據。
8.修改數據
格式:
update 表名 set 字段名 = '1234' where id = 1;
輸出:
updata classes set name = '三年級' where id = 1;
回車顯示:
表示修改爲功。
改前:
改後:
9.增長字段
格式:
alter table`表名`
add column `字段名` 屬性;
輸出:
alter table `classes`
add column `age` int(3) unsigned;
回車顯示:
表示添加成功。
10.修改字段名‘’
格式:
alter table `表格`
change column `原字段名` `新字段名` int(3) unsigned;
輸入:
alter table `classes`
change column `age` `age_0` int(3) unsigned;
回車顯示:
修改爲功。
11.刪除字段
格式:
alter table `表名`
drop column `字段`;
輸入:
alter table `classes`
drop column `age`;
回車顯示:
表示刪除成功。
12.查看錶字段信息
格式:
desc 表名;
輸入:
desc classes;
回車顯示: