网络营销电子商务研究中心  
How to buy the best prescription safety glasses in Canada? Let's study!
Go Back   网络营销电子商务研究中心 > 服务器与数据库 > MySQL
User Name
Password
 
FAQ Members List Calendar Cheap Glasses Mark Forums Read

 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
  #1   IP: 49.87.98.13
Old 2014-11-20, 08:48 PM
Texarkana Texarkana is offline
初级会员
 
Join Date: 2013-03-29
Posts: 1
Texarkana 现在声名狼藉
Default 数据表的类型/字符集及表的修改

数据表的类型及存贮位置
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表存在就删除它
Reply With Quote
 


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Prescription-glasses.com offers prescription glasses online at discount prices.
All times are GMT +8. The time now is 05:35 AM.


Powered by vBulletin Version 3.8.7
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.