用cmd 命令来操作数据库的命令
如果你输入mysql连接命令后,cmd提示你 'mysql'不是内部或外部命令,也不是可运行的程序或批处理文件。那一定是你在安装mysql时没有集成到windows环境,
不用怕在cmd 下用 cd命令进入到你的mysql安装目录比如:
cd C:/Program Files/MySQL/MySQL Server 5.0/bin/
连接mysql服务器 mysql -h localhost -u root -p
展示所有数据库 show databases;
选择数据库 use database;
展示所选数据下所有表 show tables;
设定数据库编码 set names gbk;
用SQL语言查询数据库select * from table;
SQL:structured query language
数据定义语言:DDL data definition language
数据操作语言:DML data manipulation language
数据控制语言:DCL data control language
数据库访问
VC++ :DAO、ODBC、ADO
.NET:ADO.NET
java:JDBC
PHP:php5以后有mysqli模块
mysql中字符集:latin1,主要用于西欧的语言,存储汉字,日文会产生乱码;utf8国际字符集,对中文韩文日文都支持;gbk是中国汉字字符集。
整数类型:
MySQL还支持选择在该类型关键字后面的括号内指定整数值的显示宽度(例如,INT(4))。该可选显示宽度规定用于显示宽度小于指定的列宽度的值时从左侧填满宽度。(类似使用LPAD函数效果)
在INT(M) 中,M指示最大显示宽度。最大有效显示宽度是255。显示宽度与存储大小或类型包含的值的范围无关.如果为一个数值列指定ZEROFILL,MySQL自动为该列添加UNSIGNED属性.
显示宽度并不限制可以在列内保存的值的范围,也不限制超过列的指定宽度的值的显示。
当结合可选扩展属性ZEROFILL使用时, 默认补充的空格用零代替。例如,对于声明为INT(5) ZEROFILL的列,值4检索为00004。请注意如果在整数列保存超过显示宽度的一个值,当MySQL为复杂联接生成临时表时会遇到问题,因为在这些情况下MySQL相信数据适合原列宽度。
[以上内容摘自MySQL官方中文翻译文档]
浮点数和定点数
mysql中使用浮点数类型和定点数类型来表示小数。
可以指定浮点数和定点数的精度: 数据类型(M,D) M为精度 D为标度 FLOAT(6,2) 1234.56符合
这方法虽然都适合于浮点数和定点数,但不是浮点数的标准用法,是定点数的标准格式。
如果插入的精度高于实际的精度,系统会进行四舍五入,浮点数四舍五入不会报错,定点数会有警告。
时间和日期类型
TIMESTAMP和DATETIME:TIMESTAMP的范围比较小;而且输入null或者无输入,系统会输入系统当前日期和时间;且其时间是根据时区来显示的。
字符串类型
1、CHAR(M) :M指定的是最大长度。CHAR类型的长度是固定的,建表的时候就指定了,可以是0~255任意值。CHAR不保存结束符
2、VCHAR(M):长度可变,建表时指定了最大长度。0~65535.指定了最大值后,长度可以在0到最大值之间。有效节约空间,结束符要占一个字节。
3、TEXT:不能有默认值,有各种不同的长度。
4、ENUM:枚举类型,建表时取值范围就以列表的形式给出了。插入时可以插入其中的一个值。如果加入了NOT NULL属性,默认值是第一个,没加默认值就是NULL
5、SET:建表时取值范围就以列表的形式给出了。插入时可以插入其中的多个值。 插入的不是数据,而是插入值的编号
二进制类型
BINARY(M)、VARBINARY(M)。 固定和可变
BIT(M) M最大为64字节 BLOB可以保持很大的二进制数据,如图片。存放路径比直接纯在数据库中访问要慢。