mysql 创建数据表

创建数据表:

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;在字段第一位添加

你可能感兴趣的:(mysql 创建数据表)