数据库的基本概念
mysql是一种关系型数据库 系统软件(DBms)模式
mysql的特点:小巧 功能齐全 查询快速 免费开源
定义:数据库管理系统(DBMs)是位于用户与操作系统之间的一种操纵
net start mysql 开启mysql 服务器
net stop mysql 关闭mysql 服务器
关闭数据库:exit或quit
mysql程序常用命令:
放弃正在输入的命令:\c;
显示命令清单:\h;
mysql服务器状态信息:\s;
数据类型的种类
数值型:
整型:M为显示宽度
tinyint(): 非常小
smallint():比较小
mediumint():中等大小
int():标准整型
float():浮点型
double():双精度
decimal():一串浮点数
字符串:
char():定长字符串
varchar():可变字符串
ENUM:枚举类型
var()与varchar()的区别:较短的值被插入一个varchar时,不会用空格填补
字符串的转移序列:
0:null
\'\"" :引号
\n:新行
\r: 回车
\t:制表付
\b:退格
\\反斜杠
date "YYYY-MM-DD" 三字节
比较运算付:结果总是1 或0 或是 null
like not like
显示表结构: desc 表名
更改表结构
alter table 表名 action ;
action的可选值:
add 列名 <键表语句> frist|after :添加一列
drop 列名:删除一行
charge 列名 <列名语句> first|after 修改列
alter 列名 set default
drop index "index_name":删除索引
rename as 新表名:更改表名
add primary key (列名):为表添加一个主键
drop primary key:删除主键
插入数据行
insert into 表名(列名,列名...)values(字段值,字段值);
注:如果表名后面没写列名,则默认是向所有的列添加值
字段串值应该用引号括起来,但列名不用引号
插入数据时,尽量把要插入的列名写清楚
删除数据行
delete from 表名 where 子句
delete from people where https://www.doczj.com/doc/ae3803872.html,=https://www.doczj.com/doc/ae3803872.html,;
表和字段的引用方式有两种:绝对应用和相对引用
having:对分组后结果进行条件限制
order by: 对查询结果进行排序,后面跟desc降序或asc升序
列:select * from 表名 order by grade desc
limit:显示结果限制数目分页
使用集函数
count(*):计算元素个数
sum(*):求和
avg(列名):平均值
max(列名);找出最大值
min(列名):找出最小值
导入和导出 前都要推出mysql, 在DOS命令下操作
导入
mysqldump -u root -p
导入前,要先打开数据库文件查看数据库,
复制表结构
create table lamp select * from test //复制表结构和其中数据
create table lamp select * from test where 1=0; 复制表但不复制其中数据
insert into lamp values('zhangsan',20),('lisi',20); 添加多个数据行
select * from 表名 order by grade desc,gid; 将表进行排序,先按grade拍,如果相同在按gid排
php中链接数据库的方式
mysql数据库连
接 纯面向过程
mysqli数据库连接:即面向过程又面向对象
PDO数据库连接:纯面向对象
mysql数据库连接
连接,选择数据库
发送mysql_query($sql); 如果发送sql查询语句 则返回结果集,错的返回false, 正确的返回true
mysql_fetch_row() 索引数组
mysql_fetch_assoc() 关联数组
mysql_num_rows() 返回结果集中的行数
mysql_num_fields() 返回结果集中的列数
mysql_free_resource() 只要查询才用释放资源
mysql_affected_rows() 取得前一次mysql操作所映像的记录行数
mysqL_client_encoding() 返回字符集的名称
mysql_create_db() 新建一个mysql数据库
mysql_date_seek() 移动内部结果的指针
mysql_db_name()取得结果数据
mysql_db_query() 发送一条mysql查询
mysql_drop_db() 丢弃(删除)一个mysql数据库
mysql_errno() 返回上一个mysql操作中的错误信息的数据编码
mysql_escape_string() 转义一个字符串用于 mysql_query
mysql_fetch_array() 从结果集中取得一行作为关联数组,或二者兼有
mysql_fetch_assoc() 从结果集中取得一行作为关联数组
mysql_fetch_field()从结果集中取得列信息并作为对象返回
mysql_fetch_lengths() 从结果集中每个输出的长度
mysql_fetch_object() 从结果集中取得一行作为对象
mysql_fetch_row()从结果集中取得一行作为枚举数组
mysql_field_flags() 从结果中取得和指定字段关联的标志
mysql_field_len() 返回指定字段长度
mysql_field_name() 取得结果中指定字段的字段名
mysql_field_seek() 将结果集中的指针设定为指定的字段偏移量
mysql_fieled_table() 取得指定字段所在的表名
mysql_field_type()取得结果集中指定字段的类型
mysql_free_result() 释放结果内存
mysql_get_client_info()取得mysql客户端信息
mysql_get_host_info()取得mysql主机信息
mysql_get_proto_info() 取得mysql协议信息
mysql_get_server_info()取得mysql服务器信息
mysql_info() 取得最近一条查询的信息
mysql_insert_id() 取得上一步insert操作产生的ID
mysql_list_dbs() 列出mysql服务器中所有的数据库
mysql_list_fields()列出mysql结果中的字段
mysql_list_processes()列出mysql进程
mysql_list_tables()列出mysql数据库中的表
mysql_num_fields() 取得结果集中字段的数目
mysql_num_rows()取得结果集中行的数目
mysql_pconnect() 打开一个到mysql服务器的持久连接
mysql_ping() ping一个服务器的连接, 如果没有连接则重新连接
mysql_query() 发送一条mysql查询
mysql_real_escape_string() 转义sql 语句中使用的特殊字符,并考虑到连接的当前字符集
mysql_result() 取得结果数据
mysql_select_db()选择mysql数据库
mysql_set_charset() 设置客户端的字符集
mysql_stat()取得当前系统状
态
mysql_tablename() 取得表名
mysql_thread_id()返回当前线程的ID
mysql_unbuffered_query()想mysql发送一套sql查询,并不获取和缓存结果的行