創(chuàng)建數(shù)據(jù)表:
create? table [IF NOT EXISTS]表名稱(?字段名1?列類型膊升,
字段名1?列類型[屬性]凤跑,
字段名2?列類型[屬性],
…
字段名n?列類型[屬性][索引])缚够;
delete from t1 where id>1 and id<10;
alert table t1 add/chang/modify/renam/drop
數(shù)據(jù)字段屬性
1.?unsigned?可以讓空間增加一倍?128-127 0255?無符號字段
只能在數(shù)值型字段
2.?zerofill?只能用在數(shù)值型字段煮剧,前導0
3.?auto_increment
只是整數(shù),數(shù)據(jù)每增加一條就會自動增加1甚脉,字段的值是不允許重復的
4.null?和?not null
5.default?缺省值
create table ti(
id INT auto_increment not null primary_key,
name varchar(6) default ‘男’,
height double(10,2) not null defalult(0.00)
)
6創(chuàng)建索引
1.?主鍵索引
一個表只能指定一個主鍵?主鍵不能為空
2.?唯一索引?unique
都可以防止創(chuàng)建重復的值
每個一表都可以有多個唯一索引
3.?常規(guī)索引
最重要的技術?提升數(shù)據(jù)庫能力
index?和key是同義詞
多列的都可以創(chuàng)建
?????????????????? create index ind1 t1(name,age);
?????????????????? drop index ind1 on t1;
?????????????????? index ind1(name,age);
4.?全文索引
fulltext類型索引?MyISAM表類型使用丸升,只有在varchar char text文本字符串上使用
也可以多個數(shù)據(jù)列使用
create table books(
id int auto_increment,
bname varchar(50
price double,
detail text not null,
fulltext(detail,bname),
primary_key(id))
select bname ,price from books where MATCH(detail) AGAINST(‘php’)
查看mysql引擎
show engines;
查看表類型
show variables like ‘table_type’;
mysiam?和Innodb最多
創(chuàng)建表的時候?create table() type InnoDB
??????????????????????????? ?create table() engine InnoDB
MyISAM?表類型是默認的
選擇MyISAM還是選擇InnoDB
在一個mysql庫中可以創(chuàng)建表指定不同類型的
optimize table?表名?強調快速讀取操作?也有缺點,一些功能不支持
Innodb表類型
支持一些myisam所不支持功能
也有缺點?占用空間大
功能?????????????????? MYISAM??????????? InnoDB
事務處理?不支持?支持
數(shù)據(jù)行鎖定?不支持?支持
外鍵約束?不支持?支持
表空間占用?小?大
全文索引?支持?不支持
二,mysql默認字符集
ACSii
iso-8859-1
gb2312-80?不推薦用
gb13000?不推薦使用
gbk?可以用
gb18030?支持
UTF -32
USC -2
UTF -16
UTF -8?推薦
GBK 2個字節(jié)?UTF3個字節(jié)
show character set;查看所有支持的字符集
desc information_schema.character_sets;
mysql?的字符集包括
字符集?來定義mysql存儲字符的方式
校對規(guī)則?是對規(guī)則定義了比較字符串的方式
show collation like ‘gbk%’;
create database test default character set gbk collate gbk_chinese_ci;
create table t1(id int) type=InnoDB default character set gbk collate gbk_chinese_ci;
create table t1(id int) default character set gbk collate gbk_chinese_ci;
客服端與服務器交互時
character_set_client;
character_set_connection;
character_set_results;
set names字符集?修改字符集同時修改上面三個值
?
導出數(shù)據(jù)庫被同時設置編碼
mysqldump –u root –p ?–default-character-set=gbk –d test >”d:/test.sql”;
修改表
alter table?表名?add?字段?屬性
alter table?表名?modify?字段?新屬性
alter table?表名?change?字段?新字段?屬性
alter table?表名?rename as?新表名
alter table?表名?表名?drop?字段名
alter table t1 change name username varchar(30)
alter table t1 modify sex char(8);
aleter table t1 add name char(20) not null after name;在名字后面加年齡字段
alter table ti add height double first;在字段第一位添加