Mysql

Mysql是关系型数据库管理系统,在Web应用方面是最好的RDBMS。

数据库是按照数据结构来组织、存储和管理数据的仓库。

RDBMS即关系数据库管理系统的特点:1、数据以表格的形式出现

                                                                2、每行为各种记录名称

                                                                3、每列为记录名称所对应的数据域

                                                                 4、许多的行和列组成一张表单

                                                                 5、若干的表单组成database

一个关系型数据库由一个或数个表格组成。

Mysql的特点:1、开源的,2、支持大型的数据库,3、使用标准的SQL数据语言形式,4、运行于多个系统上,支持多种开发语言,5、对PHP有很好的支持,6、支持大型数据库,7、可以定制的。

PHP提供了mysql_connect()函数来连接数据库。

mysql_connect(host,username,password,dbname,port,socket);

参数 描述
host 主机名或IP地址
username mysql用户名
password mysql密码
dbname 数据库名称
port 连接到mysql服务器的端口号
socket 规定socket或要使用的pipe

mysql_close()函数断开与mysql数据库的连接。

创建数据库:create database  数据名

使用mysqli_query(connection,query,resultmode);

参数 描述
connection 规定要使用的mysql连接
query 查询字符串
resultmode

MYSQLI_USE_RESULT(需要检索大量数据库)

MYSQLI_STORE_RESULT

DROP命令删除数据库或mysql mysqladmin命令在终端来执行删除。

mysqli_select_db(connection,dbname)来选取一个数据库:mysqli_select_db(connection,dbname);

数值类型

类型 大小 用途
tingyint 1字节 小整数值
smallint 2字节 大整数值 
mediumint 3字节 大整数值
int 4字节 大整数值
bigint 8字节 极大整数值
float 4字节 单精度浮点数值
double 8字节 双精度
decimal   小数值

日期和时间类型:DATETIME、DATE、TIMESTAMP、TIME、YEAR

类型 大小 格式 用途
DATE 3 YYYY-MM-DD 日期值
TIME 3 HH:MM:SS 年份值
YEAR 1 YYYY 时间值或持续时间
DATETIME 8 YYYY-MM-DD HH:MM:SS 混合日期和时间值
TIMESTAMP 4 YYYYMMDD HHMMSS 混合日期和时间值,时间戳

字符串类型:char、varchar、binary、varbinary、blob、text、enum、set。

mysql创建数据表:create table table_name(column_name  column_type);

auto_increment定义列为自增的属性,一般用于主键,数值会自动+1;

primary key定义列为主键。

engine设置存储引擎,charset设置编码

插入数据:insert  into    tablename (列名)  values(数值);

查询数据:select  *  from  tablename;

                  select  *  from  tablename  where

                  select  *  from  tablename  where    and

修改数据:update    set              where

删除数据:delete  from tablename  where 

mysqli_free_result()释放内存

mysqli_fetch_array()输出所有查询的数据

join按照功能大致分为:inner join(内连接,等值连接):获取两个表中字段匹配关系的记录

                                      left   join(左连接):获取左表所有记录

                                      right  join(右连接):获取右表所有记录

NULL值处理:IS  NULL:当列的值不为null,运算返回true;

                       IS  NOT  NULL:当列的值不为null,运算返回true

                       <=>:比较操作符,当比较的两个值为null时返回true

正则表达式:SELECT name FROM person_tbl WHERE name REGEXP +{^,$,.,[…],[^…],+,*,{n},{n,m}};

M.ysql事务主要用于处理操作量大,复杂度高的数据。

事务用来管理insert、update、delete语句。

事务必须满足四个条件ACID:原子性(Atomicity,或称不可分割性)、一致性(Consistency)、隔离性(Isolation,又称独立性)、持久性(Durability)。

mysql事务处理:1、begin  开始一个事务,rollback  事务回滚,commit  事务确认。

                            2、直接用set来改变mysql的自动提交模式:set  autocommit=0 禁止自动提交, set  autocommit=1开启自动提交。

alter:修改数据表名或者修改数据表字段。

删除、添加或修改表字段:alter   table   tablename    drop   i;

                                           alter   table   tablename    add i int;

                                           alter   table    tablename   modify c char(10);

                                           alter  table     tablename    chang    i    j     int;

Mysql索引:索引可以大大提高mysql的检索速度

创建索引:create index  indexname  on  tablename (username(length));

修改表的结构:alter  table  tablename  add  index  indexname(columnname);

创建表的时候直接指定索引:create  table  mytable(ID INT NOT NULL,username VARCHAR(16) NOT NULL,INDEX [indexName] (username(length)));

)                

原文地址:https://www.cnblogs.com/cye9971-/p/10617719.html