mysql yintint类型_MySQL服务器2 被嫌弃的胖子
1.sql的基本語法
對數據庫
create database db1; 創建數據庫
對表:
create database t1(id int,name char(10)); 創建表
show create table t1; 查看創建的t1表
show tables; 查看所有的表
desc t1; 查看表的詳細結構
對數據:
insert into t1(id,name) values(1,"zhang"),(2,"qing"); 插入數據
insert into t1 value(3,"qing");
select id from t1; 查詢ti表的id
select id,name from t1;
select * from t1;
select * from db1.t1 where id = 2;
關系型數據庫 mysql,db2,oracle,sqlite 表中存儲
非關系型數據庫 monogodb redis
key:value 基于model模型 obj.insert
2.存儲引擎
mysql 5.5版本之后默認為innodb存儲引擎
另外還有mysiam、memory、blackhome
#memory,在重啟mysql或者重啟機器后,表內數據清空
#blackhole 往表內插入任何數據,都相當于丟入黑洞 表內永遠不存記錄
復制表結構和表數據
create table a1 select * from db2.t1;
值復制表結構
create table a2 select * from db2.t1 where 1>2;
create table a3 like db2.t1;
3.數據類型
1.數字:
整型:tinyint int bigint
小數:
float:不精準(位數比較短)
double:不精準(位數比較長)
decimal:精準(內部原理是以字符串形式去存的)
2.字符串:
char(10):簡單粗暴,浪費空間,存取速度快
varchar:精準,節省空間,存取速度慢
sql優化:創建表時,定長的類型往前放,,變長的往后放
3.時間類型:
year,date,time,datetime
4.枚舉類型與集合類型
enum 和set
整型默認是signed有符號的 范圍-128~127
sql中沒有boolean類型 使用tinyint(1)來表示boolean值 1表示true 0表示false
int類型后面的存儲是顯示寬度而不是存儲寬度,其他的數據類型都是存儲寬度
所以我們來設計表的時候 int類型的字段不用加顯示寬度默認是總長度的位數+1
總結一句話,定義int類型不需要加寬度,使用默認值就行
datetime
now() sql的內置函數 根據數據類型生成對應的時間格式
char 定長 存儲速度快 浪費空間
varchar 變長 存儲速度慢? 節省空間
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
小結:
數據類型:
整型 tinyyint int bigint
浮點型:float double decimal
時間:year data time? datatime
字符:char 定長>varchar 變長>text 文本
枚舉:enum
集合:set
布爾:boolean tinyint(1) 存儲
函數:now()根據字段的數據類型獲取當前的時間格式
lenght()獲取字節數
char_lenght()獲取字符長度
sql默認是有符號的 signed,如果設置無符號unsigned 要顯示用0填充 zerofill
4.約束 ******
作用保證數據的完整性和一致性
表的設計
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
組合唯一(聯合唯一)只要有一列不同就能插入數據
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(索引優化查詢)
sql版本中,一張表中值允許有一個主鍵,通常都是id,cid,sid.....
create table stu(id int primary auto_increment,name varchar(10) unique);
insert into stu(name) values("zhang");
化學反應 not unll + unique
create table (id int not unll unique auto_increment,name varchar(20) unique);
primary key (索引優化) 查詢大量數據
4.auto_increment
自增
總結
以上是生活随笔為你收集整理的mysql yintint类型_MySQL服务器2 被嫌弃的胖子的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 我的世界MOD怎么安装
- 下一篇: 极米h1s投影仪怎么样?相比h1有什么改