![]() |
|
|||||||
![]() |
|
|
Thread Tools | Display Modes |
|
|
|
#1
IP: 49.87.98.13
|
|||
|
|||
|
数据表的类型及存贮位置
MYSQL有一个存储引擎的概念. mysql>show engines;显示所有的MySQL支持的存储引擎 只学MyISAM和InnoDB 默认的表类型是MyISAM,如要创建InnoDB的表类型: mysql>create table () engine InnoDB; mysql>create table () engine=InnoDB; MyISAM 表类型 OPTIMIZE TABLE 表名 强调快速读取操作 缺点:有一些功能不支持 InnoDB 表类型. 采用表空间的概念来管理数据表 可看作是MyISAM的更新换代类型,支持一些MyISAM所不支持的功能 缺点: 占用空间大, 速度没MyISAM快 MyISAM .frm 存贮表结构的 .MYD 存贮表数据的 .MYI 存贮索引的 InnoDB .frm MySQL默认的字符集 ACSII ISO-8859-1/latin1 gb2312-80 80年发布的 不推荐使用 gb13000 93年发布的 不推荐使用 GBK 95年发布的 可以用,不推荐使用 GB18030 2000年发布的 数据库支持的较少见 UTF -32 USC -2 UTF -16 UTF -8 强烈推荐大家使用 GBK 2字节, UTF-8 3个字节 name varchar(12) 6个汉字 GBK name varchar(12) 4个汉字 UTF-8 如有大量的运算,用定长的字符集比比较好.GBK是定长的, utf-8不是 MySQL服务器, 数据库,数据表, 字段 mysql>show character set; 显示mysql支持的字符集 注意:数据库用的UTF-8没一 "-",直接写成UTF8 MySQL字符集包括: 字符集: 是用来定义MySQL存储字符的方式 36个字符集 校对字符集: 是对规则定义了比较字符串的方式 70多 一对多的关系: 1个字符集可以对应多个校对规则 mysql>show collation like 'utf%'; 显示utf8的所有校对字符集 utf8_general_ci: ci表示对大小写不区分 mysql>show variables like 'character_set_server';查服务器字符集 mysql>show variables like 'collation_server';查校对规则 客户端与服务器交互时 character_set_client character_set_connection character_set_results set names 字符集 同时修改以上三个的值 mysql>alter database character set gbk;更改库的字符集 mysql>alter table t2 character set utf8; 更改表的字符集为utf8 备份数据库 命令格式如下: mysqldump -u用户名 -p密码 数据库名 表名 --where="筛选条件" > 导出文件路径 例子: 从eyeglasses数据库的t1表中导出数据到 C:/www/createtab.sql 这个文件中 K:\xampp\mysql\bin>mysqldump -u root -p --default-character-set=gbk -d eyeglasses t1 > C:/www/createtab.sql --default-character-set=gbk:指定导出的字符集为gbk -d t1:要导出的表名为t1 C:/www/createtab.sql 转成C:/www/下的createtab.sql文件 修改表 Alter table 表名 mysql>alter table t1 add name varchar(30) not null; mysql>alter table t1 add age int unsigned not null default '0'; 在字段name 之后加sex: mysql>alter table t1 add sex varchar(10) not null after name; 在第一个字段前加height: mysql>alter table t1 height double first; 修改字段类型: mysql>alter table t1 modify sex char(3); 将sex的varchar改成char类型 modify 适合于改字段类型 如改字段名要用change: mysql>alter table t1 change name username varchar(30); 将字段name改成名为username change old new 更改表名 mysql>alter table t1 rename as users; 将表名为t1的改成表名为users alter table old rename as new 删除 删除表的字段 mysql>alter table users drop age; 删除表users中的age字段 删除整个表 mysql>drop table if exists users;如users表存在就删除它 |
![]() |
| Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
|
|