自己做的网站如何放进服务器,4s店网站建设方案,嘉定做网站,企业咨询服务公司MySQL 连接 使用mysql二进制方式连接
您可以使用MySQL二进制方式进入到mysql命令提示符下来连接MySQL数据库。
实例
以下是从命令行中连接mysql服务器的简单实例#xff1a;
[roothost]# mysql -u root -p
Enter password:******
在登录成功后会出现 mysql 命令提示窗…MySQL 连接 使用mysql二进制方式连接
您可以使用MySQL二进制方式进入到mysql命令提示符下来连接MySQL数据库。
实例
以下是从命令行中连接mysql服务器的简单实例
[roothost]# mysql -u root -p
Enter password:******
在登录成功后会出现 mysql 命令提示窗口你可以在上面执行任何 SQL 语句。
以上命令执行后登录成功输出结果如下:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2854760 to server version: 5.0.9Type help; or \h for help. Type \c to clear the buffer.
在以上实例中我们使用了root用户登录到mysql服务器当然你也可以使用其他mysql用户登录。
如果用户权限足够任何用户都可以在mysql的命令提示窗口中进行SQL操作。
退出 mysql 命令提示窗口可以使用 exit 命令如下所示
mysql exit
Bye 使用 PHP 脚本连接 MySQL
PHP 提供了 mysqli_connect() 函数来连接数据库。
该函数有 6 个参数在成功链接到 MySQL 后返回连接标识失败返回 FALSE 。
语法
mysqli_connect(host, username, password, dbname,port, socket);
参数说明
参数描述host可选。规定主机名或 IP 地址。username可选。规定 MySQL 用户名。password可选。规定 MySQL 密码。dbname可选。规定默认使用的数据库。port可选。规定尝试连接到 MySQL 服务器的端口号。socket可选。规定 socket 或要使用的已命名 pipe。
你可以使用 PHP 的 mysqli_close() 函数来断开与 MySQL 数据库的链接。
该函数只有一个参数为 mysqli_connect() 函数创建连接成功后返回的 MySQL 连接标识符。
语法
bool mysqli_close ( mysqli $link )
本函数关闭指定的连接标识所关联的到 MySQL 服务器的非持久连接。如果没有指定 link_identifier则关闭上一个打开的连接。
提示通常不需要使用 mysqli_close()因为已打开的非持久连接会在脚本执行完毕后自动关闭。 实例
你可以尝试以下实例来连接到你的 MySQL 服务器:
连接 MySQL
?php $dbhost localhost; // mysql服务器主机地址 $dbuser root; // mysql用户名 $dbpass 123456; // mysql用户名密码 $conn mysqli_connect($dbhost, $dbuser, $dbpass); if(! $conn ) { die(Could not connect: . mysqli_error()); } echo 数据库连接成功; mysqli_close($conn); ?
MySQL 创建数据库 我们可以在登陆 MySQL 服务后使用 create 命令创建数据库语法如下:
CREATE DATABASE 数据库名;
以下命令简单的演示了创建数据库的过程数据名为 RUNOOB:
[roothost]# mysql -u root -p
Enter password:****** # 登录后进入终端mysql create DATABASE RUNOOB;
使用 mysqladmin 创建数据库
使用普通用户你可能需要特定的权限来创建或者删除 MySQL 数据库。
所以我们这边使用root用户登录root用户拥有最高权限可以使用 mysql mysqladmin 命令来创建数据库。
以下命令简单的演示了创建数据库的过程数据名为 RUNOOB:
[roothost]# mysqladmin -u root -p create RUNOOB
Enter password:******
以上命令执行成功后会创建 MySQL 数据库 RUNOOB。 使用 PHP脚本 创建数据库
PHP 使用 mysqli_query 函数来创建或者删除 MySQL 数据库。
该函数有两个参数在执行成功时返回 TRUE否则返回 FALSE。
语法
mysqli_query(connection,query,resultmode);
参数描述connection必需。规定要使用的 MySQL 连接。query必需规定查询字符串。resultmode 可选。一个常量。可以是下列值中的任意一个 MYSQLI_USE_RESULT如果需要检索大量数据请使用这个MYSQLI_STORE_RESULT默认
实例
以下实例演示了使用PHP来创建一个数据库
创建数据库
?php $dbhost localhost; // mysql服务器主机地址 $dbuser root; // mysql用户名 $dbpass 123456; // mysql用户名密码 $conn mysqli_connect($dbhost, $dbuser, $dbpass); if(! $conn ) { die(连接错误: . mysqli_error($conn)); } echo 连接成功br /; $sql CREATE DATABASE RUNOOB; $retval mysqli_query($conn,$sql ); if(! $retval ) { die(创建数据库失败: . mysqli_error($conn)); } echo 数据库 RUNOOB 创建成功\n; mysqli_close($conn); ?
执行成功后返回如下结果 如果数据库已存在执行后返回如下结果 网友笔记整理
使用root登录后可以使用
CREATE DATABASE IF NOT EXISTS RUNOOB DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
创建数据库该命令的作用 1. 如果数据库不存在则创建存在则不创建。 2. 创建RUNOOB数据库并设定编码集为utf8 MySQL 删除数据库 使用普通用户登陆 MySQL 服务器你可能需要特定的权限来创建或者删除 MySQL 数据库所以我们这边使用 root 用户登录root 用户拥有最高权限。
在删除数据库过程中务必要十分谨慎因为在执行删除命令后所有数据将会消失。 drop 命令删除数据库
drop 命令格式
drop database 数据库名;
例如删除名为 RUNOOB 的数据库
mysql drop database RUNOOB;
使用 mysqladmin 删除数据库
你也可以使用 mysql mysqladmin 命令在终端来执行删除命令。
以下实例删除数据库 RUNOOB(该数据库在前一章节已创建) [roothost]# mysqladmin -u root -p drop RUNOOB
Enter password:******
执行以上删除数据库命令后会出现一个提示框来确认是否真的删除数据库
Dropping the database is potentially a very bad thing to do.
Any data stored in the database will be destroyed.Do you really want to drop the RUNOOB database [y/N] y
Database RUNOOB dropped 使用PHP脚本删除数据库
PHP使用 mysqli_query 函数来创建或者删除 MySQL 数据库。
该函数有两个参数在执行成功时返回 TRUE否则返回 FALSE。
语法
mysqli_query(connection,query,resultmode);
参数描述connection必需。规定要使用的 MySQL 连接。query必需规定查询字符串。resultmode 可选。一个常量。可以是下列值中的任意一个 MYSQLI_USE_RESULT如果需要检索大量数据请使用这个MYSQLI_STORE_RESULT默认
实例
以下实例演示了使用PHP mysqli_query函数来删除数据库
删除数据库
?php $dbhost localhost; // mysql服务器主机地址 $dbuser root; // mysql用户名 $dbpass 123456; // mysql用户名密码 $conn mysqli_connect($dbhost, $dbuser, $dbpass); if(! $conn ) { die(连接失败: . mysqli_error($conn)); } echo 连接成功br /; $sql DROP DATABASE RUNOOB; $retval mysqli_query( $conn, $sql ); if(! $retval ) { die(删除数据库失败: . mysqli_error($conn)); } echo 数据库 RUNOOB 删除成功\n; mysqli_close($conn); ?
执行成功后数结果为 注意 在使用PHP脚本删除数据库时不会出现确认是否删除信息会直接删除指定数据库所以你在删除数据库时要特别小心。
MySQL 选择数据库
在你连接到 MySQL 数据库后可能有多个可以操作的数据库所以你需要选择你要操作的数据库。 从命令提示窗口中选择MySQL数据库
在 mysql 提示窗口中可以很简单的选择特定的数据库。你可以使用SQL命令来选择指定的数据库。
实例
以下实例选取了数据库 RUNOOB:
[roothost]# mysql -u root -p
Enter password:******
mysql use RUNOOB;
Database changed
mysql
执行以上命令后你就已经成功选择了 RUNOOB 数据库在后续的操作中都会在 RUNOOB 数据库中执行。 使用PHP脚本选择MySQL数据库
PHP 提供了函数 mysqli_select_db 来选取一个数据库。函数在执行成功后返回 TRUE 否则返回 FALSE 。
语法
mysqli_select_db(connection,dbname);
参数描述connection必需。规定要使用的 MySQL 连接。dbname必需规定要使用的默认数据库。
实例
以下实例展示了如何使用 mysqli_select_db 函数来选取一个数据库
选择数据库
?php $dbhost localhost; // mysql服务器主机地址 $dbuser root; // mysql用户名 $dbpass 123456; // mysql用户名密码 $conn mysqli_connect($dbhost, $dbuser, $dbpass); if(! $conn ) { die(连接失败: . mysqli_error($conn)); } echo 连接成功; mysqli_select_db($conn, RUNOOB ); mysqli_close($conn); ?
MySQL 数据类型
MySQL 中定义数据字段的类型对你数据库的优化是非常重要的。
MySQL 支持多种类型大致可以分为三类数值、日期/时间和字符串(字符)类型。 数值类型
MySQL 支持所有标准 SQL 数值数据类型。
这些类型包括严格数值数据类型(INTEGER、SMALLINT、DECIMAL 和 NUMERIC)以及近似数值数据类型(FLOAT、REAL 和 DOUBLE PRECISION)。
关键字INT是INTEGER的同义词关键字DEC是DECIMAL的同义词。
BIT数据类型保存位字段值并且支持 MyISAM、MEMORY、InnoDB 和 BDB表。
作为 SQL 标准的扩展MySQL 也支持整数类型 TINYINT、MEDIUMINT 和 BIGINT。下面的表显示了需要的每个整数类型的存储和范围。
类型大小范围有符号范围无符号用途TINYINT1 Bytes(-128127)(0255)小整数值SMALLINT2 Bytes(-32 76832 767)(065 535)大整数值MEDIUMINT3 Bytes(-8 388 6088 388 607)(016 777 215)大整数值INT或INTEGER4 Bytes(-2 147 483 6482 147 483 647)(04 294 967 295)大整数值BIGINT8 Bytes(-9,223,372,036,854,775,8089 223 372 036 854 775 807)(018 446 744 073 709 551 615)极大整数值FLOAT4 Bytes(-3.402 823 466 E38-1.175 494 351 E-38)0(1.175 494 351 E-383.402 823 466 351 E38)0(1.175 494 351 E-383.402 823 466 E38)单精度 浮点数值DOUBLE8 Bytes(-1.797 693 134 862 315 7 E308-2.225 073 858 507 201 4 E-308)0(2.225 073 858 507 201 4 E-3081.797 693 134 862 315 7 E308)0(2.225 073 858 507 201 4 E-3081.797 693 134 862 315 7 E308)双精度 浮点数值DECIMAL对DECIMAL(M,D) 如果MD为M2否则为D2依赖于M和D的值依赖于M和D的值小数值 日期和时间类型
表示时间值的日期和时间类型为DATETIME、DATE、TIMESTAMP、TIME和YEAR。
每个时间类型有一个有效值范围和一个零值当指定不合法的MySQL不能表示的值时使用零值。
TIMESTAMP类型有专有的自动更新特性将在后面描述。
类型大小 ( bytes)范围格式用途DATE31000-01-01/9999-12-31YYYY-MM-DD日期值TIME3-838:59:59/838:59:59HH:MM:SS时间值或持续时间YEAR11901/2155YYYY年份值DATETIME81000-01-01 00:00:00 到 9999-12-31 23:59:59YYYY-MM-DD hh:mm:ss混合日期和时间值TIMESTAMP4 1970-01-01 00:00:01 UTC 到 2038-01-19 03:14:07 UTC 结束时间是第 2147483647 秒北京时间 2038-1-19 11:14:07格林尼治时间 2038年1月19日 凌晨 03:14:07 YYYY-MM-DD hh:mm:ss混合日期和时间值时间戳 字符串类型
字符串类型指CHAR、VARCHAR、BINARY、VARBINARY、BLOB、TEXT、ENUM和SET。该节描述了这些类型如何工作以及如何在查询中使用这些类型。
类型大小用途CHAR0-255 bytes定长字符串VARCHAR0-65535 bytes变长字符串TINYBLOB0-255 bytes不超过 255 个字符的二进制字符串TINYTEXT0-255 bytes短文本字符串BLOB0-65 535 bytes二进制形式的长文本数据TEXT0-65 535 bytes长文本数据MEDIUMBLOB0-16 777 215 bytes二进制形式的中等长度文本数据MEDIUMTEXT0-16 777 215 bytes中等长度文本数据LONGBLOB0-4 294 967 295 bytes二进制形式的极大文本数据LONGTEXT0-4 294 967 295 bytes极大文本数据
注意char(n) 和 varchar(n) 中括号中 n 代表字符的个数并不代表字节个数比如 CHAR(30) 就可以存储 30 个字符。
CHAR 和 VARCHAR 类型类似但它们保存和检索的方式不同。它们的最大长度和是否尾部空格被保留等方面也不同。在存储或检索过程中不进行大小写转换。
BINARY 和 VARBINARY 类似于 CHAR 和 VARCHAR不同的是它们包含二进制字符串而不要非二进制字符串。也就是说它们包含字节字符串而不是字符字符串。这说明它们没有字符集并且排序和比较基于列值字节的数值值。
BLOB 是一个二进制大对象可以容纳可变数量的数据。有 4 种 BLOB 类型TINYBLOB、BLOB、MEDIUMBLOB 和 LONGBLOB。它们区别在于可容纳存储范围不同。
有 4 种 TEXT 类型TINYTEXT、TEXT、MEDIUMTEXT 和 LONGTEXT。对应的这 4 种 BLOB 类型可存储的最大长度不同可根据实际情况选择。
网友笔记整理
MySQL 5.0 以上的版本
1、一个汉字占多少长度与编码有关
UTF8一个汉字3个字节
GBK一个汉字2个字节
2、varchar(n) 表示 n 个字符无论汉字和英文Mysql 都能存入 n 个字符仅是实际字节长度有所区别
3、MySQL 检查长度可用 SQL 语言来查看
select LENGTH(fieldname) from tablename
关于 char、varchar 与 text 平时没有太在意一般来说可能现在大家都是用 varchar。但是当要存储的内容比较大时究竟是选择 varchar 还是 text 呢
这三种类型比较 1char: char 不用多说了它是定长格式的但是长度范围是 0~255. 当你想要储存一个长度不足 255 的字符时Mysql 会用空格来填充剩下的字符。因此在读取数据时char 类型的数据要进行处理把后面的空格去除。 2varchar: 关于 varchar有的说最大长度是 255也有的说是 65535查阅很多资料后发现是这样的varchar 类型在 5.0.3 以下的版本中的最大长度限制为 255而在 5.0.3 及以上的版本中varchar 数据类型的长度支持到了 65535也就是说可以存放 65532 个字节注意是字节而不是字符的数据起始位和结束位占去了3个字节也就是说在 5.0.3 以下版本中需要使用固定的 TEXT 或 BLOB 格式存放的数据可以在高版本中使用可变长的 varchar 来存放这样就能有效的减少数据库文件的大小。 3text: 与 char 和 varchar 不同的是text 不可以有默认值其最大长度是 2 的 16 次方-1
总结起来有几点 经常变化的字段用 varchar 知道固定长度的用 char 尽量用 varchar 超过 255 字符的只能用 varchar 或者 text 能用 varchar 的地方不用 text
楼上那个说的有些问题大家需要注意
“在读取数据时char 类型的数据要进行处理把后面的空格去除”。 MySQL在存储char的时候先去掉尾部的空格若长度不足则用空格填充到相应长度。查询时返回的数据尾部是没有空格的。 FLOAT 与 DOUBLE 差异单精度与双精度有什么区别
最本质的区别单精度也就是 float 在 32 位机器上用 4 个字节来存储的而双精度double是用 8 个字节来存储的由于存储位不同他们能表示的数值的范围就不同也就是能准确表示的数的位数就不同。
1、所占的内存不同
单精度浮点数bai占du用4个字节32位存储空间来存储一个浮点数包括符号位1位阶码8位尾数23位。
而双精度浮点数使用 8个字节64位存储空间来存储一个浮点数包括符号位1位阶码11位尾数52位。
2、所存的数值范围不同
单精度浮点数的数值范围为-3.4E383.4E38而双精度浮点数可以表示的数字的绝对值范围大约是-2.23E308 ~ 1.79E308。E表示10的多少次方如3.4E38指的是3.4乘以10的38次方。
3、十进制下的位数不同
单精度浮点数最多有7位十进制有效数字如果某个数的有效数字位数超过7位当把它定义为单精度变量时超出的部分会自动四舍五入。
双精度浮点数可以表示十进制的15或16位有效数字超出的部分也会自动四舍五入。