创建数据表:
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
数据字段属性
1. unsigned 可以让空间增加一倍 128-127 0255 无符号字段
只能在数值型字段
2. zerofill 只能用在数值型字段,前导0
3. auto_increment
只是整数,数据每增加一条就会自动增加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创建索引
1. 主键索引
一个表只能指定一个主键 主键不能为空
2. 唯一索引 unique
都可以防止创建重复的值
每个一表都可以有多个唯一索引
3. 常规索引
最重要的技术 提升数据库能力
index 和key是同义词
多列的都可以创建
create index ind1 t1(name,age);
drop index ind1 on t1;
index ind1(name,age);
4. 全文索引
fulltext类型索引 MyISAM表类型使用,只有在varchar char text文本字符串上使用
也可以多个数据列使用
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最多
创建表的时候 create table() type InnoDB
create table() engine InnoDB
MyISAM 表类型是默认的
选择MyISAM还是选择InnoDB
在一个mysql库中可以创建表指定不同类型的
optimize table 表名 强调快速读取操作 也有缺点,一些功能不支持
Innodb表类型
支持一些myisam所不支持功能
也有缺点 占用空间大
功能 MYISAM InnoDB
事务处理 不支持 支持
数据行锁定 不支持 支持
外键约束 不支持 支持
表空间占用 小 大
全文索引 支持 不支持
二,mysql默认字符集
ACSii
iso-8859-1
gb2312-80 不推荐用
gb13000 不推荐使用
gbk 可以用
gb18030 支持
UTF -32
USC -2
UTF -16
UTF -8 推荐
GBK 2个字节 UTF3个字节
show character set;查看所有支持的字符集
desc information_schema.character_sets;
mysql 的字符集包括
字符集 来定义mysql存储字符的方式
校对规则 是对规则定义了比较字符串的方式
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字符集 修改字符集同时修改上面三个值
导出数据库被同时设置编码
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;在字段第一位添加