各个函数
1.数据库连接函数:
$conn=mysql_connect(host,username,password,dbname,port,socket);
//对应的关闭函数
mysql_close(mysqli $link)
2.数据库创建:create DATABASE ***
对应的删除数据库
drop database ***
3.数据库查询
mysql_query($ conn,query,resultmod)//$ conn是指连接数据库变量,query是数据库操作命令字段
4.数据库选择:
mysql>use dbname;
对应的php函数
mysql_select_db(conn,dbname)
5.mysql创建数据表:
create table table_name (column_name column_type);
//对应的删除数据表
drop table table_name;
实例:
create table if no exists `runoob_id`( INT UNSIGNED AUTO_INCREMENT,
`runoob_title` VARCHAR(100) NOT NULL,
`runoob_author` VARCHAR(40) NOT NULL,
`submission_date` DATE,
PRIMARY KEY ( `runoob_id` )
)ENGINE=innoDB DEFAULT CHARSET=utf-8;2
6.向表中插入数据
INSERT INTO table_name(field1,field2)VALUES(value1,value2)//如果value是字符串则需要加上单引号或者双引号
对应的从表中读取数据:
select column from table_name
7.mysql查询数据:
(select *语句可以返回表的所有字段数据),列如:
select * from table_name where id=" "//取出所有id等于某个值的字段
select * from table_name//取出该表中所有的数据
select column_name from table_name [where clause] [LIMIT n] [OFFSET m]//where语句来包含任何条件,limit定义返回的记录数,offset表示位偏移量默认为0
其对应的删除表中数据:
delete from table_name where field=' ';
8.where关键字
where语句是不区分大小写的,可以在他的后面加上BINARY关键字用于区分大小写
select * from table_name where BINARY firld="‘;
9.MYSQL UPDATE更新
UPDATE table_name set field1=new-date,field2=new-value, [WHERE clause];
10.LIKE语句查询(部分字符段查询):
select * from table_name where field1 LIKE '%abc%';//这里表示在表中查询出全部含有abc字符段的行
11.mysql union操作符
- union(查询出的结果不包含重复的数据)
- unoin ALL(包括重复的数据)
seclect 列名 from table_name [where clause]
union All/union //显示重复数据/不显示重复
select 列名 from table_name [where clause]
order by 列名;//以列的形式 取出某列
12.排序查询(order by):
select * from table_name order by column_name ASC/DESC //其中ASC表示升序,DESC表示降序
13.group by 语句
select column_name,fuction(column) from table_name group by name with rollup;
14.Mysql 连接的使用
- inner join:获取俩个表中字段匹配关系的记录
- left join:获取左表所有记录
- right join:获取右表所有记录即使是
select a.filed1,a.field2,b.field from table1_name a inner join table2_name b on/where a.field1=b.field2;//left和right join 可以替代inner join
15.mysql null值处理:
- is null:当列的值是NULL时返回true
- is not null:当列的值不为NULL时,运算符返回true
- <=>:俩边相等或者都为NULL时返回true
16.正则表达式
^//匹配输入字符串的开始位置
$//表示匹配以输入字符串结束的位置
[...]//匹配所包含的任意一个字符串
[^...]//匹配未包含的任意一个字符串
|//或的意思
*//匹配前面的子表达式的零次或者多次
+//表示怕匹配前面的子表达式的一次或者多次
{n}//n是一个非负数,匹配确定的n次
{n.m}//最少匹配n次最多匹配m次
查找name字段中以'st'为开头的所有数据:
mysql> SELECT name FROM person_tbl WHERE name REGEXP '^st';
查找name字段中以'ok'为结尾的所有数据:
mysql> SELECT name FROM person_tbl WHERE name REGEXP 'ok$';
查找name字段中包含'mar'字符串的所有数据:
mysql> SELECT name FROM person_tbl WHERE name REGEXP 'mar';
查找name字段中以元音字符开头或以'ok'字符串结尾的所有数据:
mysql> SELECT name FROM person_tbl WHERE name REGEXP '^[aeiou]|ok$';
16.mysql事务处理
1、用 BEGIN, ROLLBACK, COMMIT来实现
BEGIN 开始一个事务
ROLLBACK 事务回滚
COMMIT 事务确认
2、直接用 SET 来改变 MySQL 的自动提交模式:
SET AUTOCOMMIT=0 禁止自动提交
SET AUTOCOMMIT=1 开启自动提交
17.ALTER命令进行修改数据表明或者数据表字段
18.sql注入的防范
- 通过mysqli_real_escape_string()来转义特殊字符