MySQL、PHP入门

2018-06-22 05:24:34来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

登录MySQL     mysql -hlocalhost-uroot -proot
退出MySQL     exit

每条语句后必须加分号:--------------------------------------------

显示数据库   SHOW DATABASES;;查看MySQL服务器上有多少个数据库

 

创建数据库   CREATE DATABASE db_name [IF NOT EXITSTS][CHARSET utf8];

各个命令之间用空格隔开

            db_name  自定义数据库名字  字母数字下划线

              [IF NOT EXITSTS] 如果创建的数据库已经存在,则不会报错

              [CHARSET utf8]指定当前数据库的字符集,默认为‘拉丁’,

                  

切记:utf8中间不加横线

 

SHOW命令的使用;

show create database db_name;   查看创建数据库的语句过程

 

删除数据库   DROP DATABASE db_name [IFEXITSTS];

           [IF EXITSTS]如果存在删除就不会报错

 

修改mysql数据库的字符集:ALERT DATABASE db_name DEFAULT CHARACTERSET 字符集;

数据表操作:

 

选择当前数据库------>USEdb_name;显示数据表--------->SHOW TABLES;  创建数据表---------->CREATETABLE table_name(列1 类型列的属性,列2 类型列的属性,.....);

 

例: create table table1(id int not null auto_increment primarykey,title varchar(100) not null,author varchar(20) not null,source varchar(30)not null,

hits int(5) not null default 0,

is_ppt tinyint(1) not null default0,content text null,addate int(16) not null);

 

auto_increment----自动增长     primarykey----主键

 

id字段的属性:必须的----NOT null  auto_increment  primary key

列的类型(mysql的数据类型):整型、浮点型、字符型、文本型、日期型

列的属性:是否为空、NOTnull || NULL

        自动增长:AUTO_INCREMENT  只能用于id,一个表只能有一个自动增长属性

        默认值:  DEFAULT value

        主  键:(主索引)只有一个,PRIMARYKEY  一般指定给id字段,一个表只能有一个

 

整型:tinyint---一个字节(0-255)  smalimt----两个字节(0-65535)  int----四个字节(0-21亿)bigint----8个字节()

 

浮点型:float(M,D)可以精确到小数点后7位,M代表总宽度,D代表小数位

double(M,D)可以精确到小数点后15位

字符型和文本

Char(M)固定长度字符,M代表长度

Varchar(M) 可变长度字符,M代表长度

 

char存取数据的速度要比varchar快一点

文本型

tinytext  0-255  最小文本型

text     0-1677万  中型文本

longtext 42亿

日期时间

date  如:“YYYY-MM-DD”

time  如:“HH:MM:SS”

datetime 如:“YYYY-MM-DD HH:MM:SS”

 

显示数据表

SHOW TABLE FROM table_name;

显示表的结构

DESCRIBE table_name;

删除表

DROP TRABLE table_name;

修改

使用phpmyadmin来修改

 

数据处理SQL

结构化查询语言

SQL的主要功能

增   删   改   查 

增加:----------- INSERT  INTO  table_name(字段1,字段2,….)  VALUE(值1,值2,…..);

可以指定ID字段,并给id赋值

设置客户端请求的字符集(中文乱码解决):set  names  gbk;

删除:-----------  DELETE  FROM table_name [WHERE 条件];

WHERE 字段>值

如果省略where条件,所以得都删除

delete from table1 where id>5;删除id大于5的所有

delete from table1 where id>15 andcontent='上市大公司';

查询:--------- select 字段 from  table_name;

 

describe命令查看数据库表里的字段

 

导入saixinjituan.sql文件到mysql数据库

先建立一个数据库:然后选择当前数据库;选择菜单栏的导入;

SELECT 字段列表|* FROMtable_name [WHERE条件][ORDER BY][LIMIT]

字段列表|*FROM ------ 查询指定几个字段的信息,使用通配符 * 可以查询所有字段

where条件 如果省略将显示所有记录

order by ----------  查询的记录按那个字段排序 ASC升序(默认)DESC降序

                            select* from news order by ID desc;

LIMIT限制输出的记录数-----LIMIT 开始行号,记录数(用于数据分页)

 

模糊查询用%代替   

 

selectid,title,hits from 007_news where id<50 order by id;

select* from 007_news where id<50 order by id,hits desc;

selectid,title,hits from 007_news where id<50 order by id limit 0,5;

selectid,title form 007_news where keywords is null;查询id或title为空的

修改:-------- UPDATE table_name SET 字段1=新值1,字段2=新值2[WHERE 条件];

update table1 set title='娱乐',author='作为',addate='14399999'where id=33;

 

 

PHP连接MySQL服务器

php连接MySQL服务器:mysql_connect()、exit()、mysql_error()

选择数据库-----------mysql_select_db()

设置mysql返回数据字符集--------mysql_query(“set names utf8”)

执行SQL语句---------mysql_query()

从结集中取出记录总数-----------mysql_num_rows()

从结果集中取出一行数据---------mysql_fetch_row()、mysql_fetch_array()、mysql_fetch_assoc()

 

 

PHP补充函数----------include()、require()、md5()、urlencode()、urldecode();

 

PHP+MySQL数据库编程步骤---------

一、登录mysql服务器

二、选择当前数据库

三、设置请求字符集

四、执行SQL语句

PHP函数连接mysql数据库-------- mysql_connect()

resource $link =mysql_connect($db_host,$db_user,$db_pwd)

resource$link = mysql_connect(“localhost”,”root”,””)  不推荐

resource  连接成功,返回一个资源类型的标识符,如果失败,返回false

$db_host 代表mysql服务器的主机名或IP地址,本地为localhost

$db_user 代表mysql服务器的用户账号

$db_pwd 代表mysql服务器的用户密码

 

exit()输出一个信息,并终止程序运行

void exit([string $status]);

exit(“程序出错了”)

mysql_error()主要用于测试,一旦上线就不可能再使用

输出上一次操作mysql出错的文本信息

语法:mysql_error([resource $link])

$link代表当前的活动链接

@屏蔽系统的错误信息

选择数据库mysql_select_db()

选择要挫折的数据库------返回布尔值

 

bool  mysql_select_db(string $database_name [,resource $link_indentifier])

 

$database你要操作的数据库名称

[$link]可选 ,代表当前的活动链接

 

返回值:成功------true   失败-----false

 

设置MySQL返回的数据字符集

mysql_query(“set names utf8”)

执行SQL语句

mysql_query()---------执行各种SQL语句

语法:

resource $result =mysql_query($sql[,$link]);

$sql  各种SQL语句

增$sql =  “insertinto table_name(title,id) values(‘title’,’id’)”;

删$sql  = “delete from table_name [where id=5]”;

改$sql  = “update table_name set title=’新title’[where id=5]”;

查$sql  = “select * from table_name”;

 

$link当前活动的链接,如果省略,就以上一个打开的链接为准

 

返回值:当执行SQL语句时,成功返回结果集 是一个资源的数据类型,失败返回FALSE

 

 从结果集中读取数据

取出一行----mysql_fetch_row() 每次读一行数据

从结果集中读取一行数据,并以枚举数组返回

返回一个数组    array mysql_fetch_row(resource$result)

$result代表返回的结果集    返回一个枚举数组,也就是说这一行是存在数组中的,

$row= mysql_fetch_row($result,$link);
 
 

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:MYSQL的联合查询最好是少用,效能差异巨大

下一篇:yii 邮箱封装