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