mysql yintint类型_MySQL服务器2 被嫌弃的胖子
1.sql的基本語(yǔ)法
對(duì)數(shù)據(jù)庫(kù)
create database db1; 創(chuàng)建數(shù)據(jù)庫(kù)
對(duì)表:
create database t1(id int,name char(10)); 創(chuàng)建表
show create table t1; 查看創(chuàng)建的t1表
show tables; 查看所有的表
desc t1; 查看表的詳細(xì)結(jié)構(gòu)
對(duì)數(shù)據(jù):
insert into t1(id,name) values(1,"zhang"),(2,"qing"); 插入數(shù)據(jù)
insert into t1 value(3,"qing");
select id from t1; 查詢(xún)ti表的id
select id,name from t1;
select * from t1;
select * from db1.t1 where id = 2;
關(guān)系型數(shù)據(jù)庫(kù) mysql,db2,oracle,sqlite 表中存儲(chǔ)
非關(guān)系型數(shù)據(jù)庫(kù) monogodb redis
key:value 基于model模型 obj.insert
2.存儲(chǔ)引擎
mysql 5.5版本之后默認(rèn)為innodb存儲(chǔ)引擎
另外還有mysiam、memory、blackhome
#memory,在重啟mysql或者重啟機(jī)器后,表內(nèi)數(shù)據(jù)清空
#blackhole 往表內(nèi)插入任何數(shù)據(jù),都相當(dāng)于丟入黑洞 表內(nèi)永遠(yuǎn)不存記錄
復(fù)制表結(jié)構(gòu)和表數(shù)據(jù)
create table a1 select * from db2.t1;
值復(fù)制表結(jié)構(gòu)
create table a2 select * from db2.t1 where 1>2;
create table a3 like db2.t1;
3.數(shù)據(jù)類(lèi)型
1.數(shù)字:
整型:tinyint int bigint
小數(shù):
float:不精準(zhǔn)(位數(shù)比較短)
double:不精準(zhǔn)(位數(shù)比較長(zhǎng))
decimal:精準(zhǔn)(內(nèi)部原理是以字符串形式去存的)
2.字符串:
char(10):簡(jiǎn)單粗暴,浪費(fèi)空間,存取速度快
varchar:精準(zhǔn),節(jié)省空間,存取速度慢
sql優(yōu)化:創(chuàng)建表時(shí),定長(zhǎng)的類(lèi)型往前放,,變長(zhǎng)的往后放
3.時(shí)間類(lèi)型:
year,date,time,datetime
4.枚舉類(lèi)型與集合類(lèi)型
enum 和set
整型默認(rèn)是signed有符號(hào)的 范圍-128~127
sql中沒(méi)有boolean類(lèi)型 使用tinyint(1)來(lái)表示boolean值 1表示true 0表示false
int類(lèi)型后面的存儲(chǔ)是顯示寬度而不是存儲(chǔ)寬度,其他的數(shù)據(jù)類(lèi)型都是存儲(chǔ)寬度
所以我們來(lái)設(shè)計(jì)表的時(shí)候 int類(lèi)型的字段不用加顯示寬度默認(rèn)是總長(zhǎng)度的位數(shù)+1
總結(jié)一句話(huà),定義int類(lèi)型不需要加寬度,使用默認(rèn)值就行
datetime
now() sql的內(nèi)置函數(shù) 根據(jù)數(shù)據(jù)類(lèi)型生成對(duì)應(yīng)的時(shí)間格式
char 定長(zhǎng) 存儲(chǔ)速度快 浪費(fèi)空間
varchar 變長(zhǎng) 存儲(chǔ)速度慢? 節(jié)省空間
enum 枚舉:表示多選一
set 集合 :表示多選一或者多選多
create table consumer(
idintunsigned,
name varchar(20),
sexenum('male','female','other'),
levelenum('vip','svip','vvip'),
favset('smoke','drink','tangtou')
);
insert into consumer values(1,'一 寧','other','vvip','smoke,drink,tangtou');
View Code
小結(jié):
數(shù)據(jù)類(lèi)型:
整型 tinyyint int bigint
浮點(diǎn)型:float double decimal
時(shí)間:year data time? datatime
字符:char 定長(zhǎng)>varchar 變長(zhǎng)>text 文本
枚舉:enum
集合:set
布爾:boolean tinyint(1) 存儲(chǔ)
函數(shù):now()根據(jù)字段的數(shù)據(jù)類(lèi)型獲取當(dāng)前的時(shí)間格式
lenght()獲取字節(jié)數(shù)
char_lenght()獲取字符長(zhǎng)度
sql默認(rèn)是有符號(hào)的 signed,如果設(shè)置無(wú)符號(hào)unsigned 要顯示用0填充 zerofill
4.約束 ******
作用保證數(shù)據(jù)的完整性和一致性
表的設(shè)計(jì)
1.not null 與 default
create table tb1(id int not null default 2,name char(20) not null);
insert into tb1 values(1,"zhang");
insert into tb1(name) values("qing");
insert into tb1(id) values(3);? x
2.unique
單列唯一
create table dep(id int not null,name varchar(20) unique);
insert into dep(id,name) values(1,"zhang");
insert into dep(id,name) values(2,"zhang"); x
多列唯一 表示每一列都唯一
create table dep2(id int unique,name varchar(20) unique);
inset into dep2(id,name) valuse(1,"zhang");
insert into dep2(id,name) valuse(1,"qing"); x
insert into dep2(id,name) values(2,"zhang"); x
組合唯一(聯(lián)合唯一)只要有一列不同就能插入數(shù)據(jù)
create table dep3(
id int,
name varchar(20),
unique(id,name)
);
insert into dep3(id,name) values(1,"zhang");
insert into dep3(id,name) values(1,"qing");
insert into dep3(id,name) values(2,"zhang");
insert into dep3(id,name) values(1,"zhang");? x
3.primary key(索引優(yōu)化查詢(xún))
sql版本中,一張表中值允許有一個(gè)主鍵,通常都是id,cid,sid.....
create table stu(id int primary auto_increment,name varchar(10) unique);
insert into stu(name) values("zhang");
化學(xué)反應(yīng) not unll + unique
create table (id int not unll unique auto_increment,name varchar(20) unique);
primary key (索引優(yōu)化) 查詢(xún)大量數(shù)據(jù)
4.auto_increment
自增
總結(jié)
以上是生活随笔為你收集整理的mysql yintint类型_MySQL服务器2 被嫌弃的胖子的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 我的世界MOD怎么安装
- 下一篇: mysql添加映射模块_iis7.5中让