mysql数据库表的类型介绍,mysql数据库表的类型介绍
前言
之前我們講了下載安裝數(shù)據(jù)庫,還有如何卸載(雖然直接重裝系統(tǒng)就好)
那么現(xiàn)在讓我們來講講
"""
1、數(shù)據(jù)庫與表的剩余操作
編碼配置、引擎介紹
2、數(shù)據(jù)庫字段的操作
3、數(shù)據(jù)庫的數(shù)據(jù)類型
4、數(shù)據(jù)庫字段的約束條件
"""
數(shù)據(jù)庫的配置
通過配置文件統(tǒng)一配置的目的是統(tǒng)一管理
服務(wù)端(mysqld)
客戶端(client)
那么如果我們配置了mysqld(服務(wù)端)的編碼為utf8,那么再創(chuàng)建的數(shù)據(jù)庫,默認(rèn)編碼都采用utf8
配置流程
在mysql安裝目錄下,創(chuàng)建文件----->my.ini
? ps : mac下配置文件名叫my.cnf
設(shè)置配置文件內(nèi)容并保存
[mysqld] #服務(wù)器配置
port=3306 #可以修改數(shù)據(jù)庫默認(rèn)端口
character-set-server=utf8 #編碼格式
collation-server=utf8_general_ci
[client] #mysql再見的客戶端叫[mysql],配置[client]即配置了[mysql],也配置了其他存在方式的客戶端,比如Navicat可視化客戶端
default-character-set=utf8
重啟數(shù)據(jù)庫服務(wù)
數(shù)據(jù)庫修改信息
修改字符編碼
alter database 數(shù)據(jù)庫名 charset=編碼格式;
用戶操作(******)
為特定的數(shù)據(jù)庫分配該數(shù)據(jù)庫的操作權(quán)限的用戶
grant 權(quán)限們 on 數(shù)據(jù)庫.表 to [email?protected] identified by ‘密碼‘;
all:所有權(quán)限
oldboy.*:表示oldboy數(shù)據(jù)庫下所有表
[email?protected]:本機(jī)可以通過oldboy用戶登錄
identified by ‘Oldboy123‘:密碼為Oldboy123
grant all on oldboy.* to [email?protected] identified by ‘Oldboy123‘;
撤銷權(quán)限
revoke 權(quán)限1,權(quán)限2,...on 數(shù)據(jù)庫名.表名 from [email?protected];
刪除用戶
數(shù)據(jù)庫表的引擎:驅(qū)動數(shù)據(jù)的方式-優(yōu)化
前言:引擎是建表時候的規(guī)定,提供給表使用的,不是數(shù)據(jù)庫。用于優(yōu)化數(shù)據(jù)庫模式
展示引擎語句
show engines;
# innodb(默認(rèn)): 支持事務(wù), 行級鎖, 外鍵
create table t11(id int)engine=innodb;
# myisam: 查詢效率要優(yōu)于innodb, 當(dāng)不需要支持事務(wù), 行級鎖, 外鍵, 可以通過設(shè)置myisam來優(yōu)化數(shù)據(jù)庫
create table t12(id int)engine=myisam;
# blackhole:黑洞,存進(jìn)去的數(shù)據(jù)都會消失(可以理解不存數(shù)據(jù))
create table t13(id int)engine=blackhole;
# memory:表結(jié)構(gòu)是存儲在硬盤上的,但是表數(shù)據(jù)全部存儲在內(nèi)存中
create table t14(id int)engine=memory;
數(shù)據(jù)庫模式
前言:mysql 5.7以后默認(rèn)為安全模式
5.6版本
非安全模式:sql_model=no_engine_substitution
安全模式:sql_model=strict_trans_tables
# 查看當(dāng)前數(shù)據(jù)庫模式:
show variables like "%sql_mode%"; # %匹配0~n個任意字符 => 模糊查詢
# 臨時設(shè)置為安全模式,服務(wù)重啟后會被重置
set global sql_mode="strict_trans_tables"; # 在root用戶登錄狀態(tài)下
# 在設(shè)置后,quit斷開數(shù)據(jù)庫連接后(服務(wù)器不重啟)就會進(jìn)入安全模式
# 安全模式下,非安全模式下sql執(zhí)行的警告語句,都會拋異常
create table t1(name char(2));
insert into t1 values ("ab") # 正常
insert into t1 values ("guapi") # 錯誤 Data too long for column 'name' at row 1
mysql支持的數(shù)據(jù)類型
數(shù)據(jù)類型
數(shù)據(jù)類型表
類型
大小
范圍(有符號)
范圍(無符號)unsigned約束
用途
TINYINT
1字節(jié)
(-128,127)
(0,255)
小整數(shù)值
SMALLINT
2字節(jié)
(-32768,32767)
(0,65535)
大整數(shù)值
MEDIUMINT
3字節(jié)
(-8388608,8388607)
(0,16777215)
大整數(shù)值
INT或INTEGER
4字節(jié)
(-2147483648,2147483 647)
(0,4294967295)
大整數(shù)值
BIGINT
8字節(jié)
(-9233372036854775808,9223372036854 775807)
(0,18446744073709551 615)
極大整數(shù)值
FLOAT
4字節(jié)float(255,30)
(-3.402823466E+38,-1.175494351E-38),0,(1.175 494351E-38,3.402823466351E+38)
0,(1.175494351E-38,3.402823466E+38)
單精度浮點(diǎn)數(shù)值
DOUBLE
8字節(jié)double(255,30)
(-1.7976931348623157E+308,-2.225073858 5072014 E-308),0,(2.2250738585072014E-308,1.7976931348623157E+308)
0,(2.225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E+308)
雙精準(zhǔn)浮點(diǎn)數(shù)值
DECIMAL
對DECIMAL(M,D) ,如果M>D,為M+2否則為D+2double(65,30)
依賴于M和D的值
依賴于M和D的值
x小數(shù)值
原文:https://www.cnblogs.com/ledgua/p/11574914.html
總結(jié)
以上是生活随笔為你收集整理的mysql数据库表的类型介绍,mysql数据库表的类型介绍的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java 堆排序方式_幾種排序方式的ja
- 下一篇: postgresql中装gis插件_Po