+ -
当前位置:首页 → 问答吧 → [第六天接触PHP——初涉MySQL]

[第六天接触PHP——初涉MySQL]

时间:2008-06-01

来源:互联网

我觉得命令是简单的英文,还是蛮好理解的,所以就举例、解释,应该会深刻点。
我觉得只要把这些命令运行一遍,印象还是挺深刻的。



CREATE DATABASE mytest;     //建立一个数据库

use mytest;                     //引用mytest数据库
create table users(                  //创建表格
user_id MEDIUMINT UNSIGNED NOT NULL AUTO_INCREMENT,    //数据项和属性设置,auto_increment为自增1
first_name VARCHAR(15) NOT NULL,
last_name VARCHAR(30) NOT NULL,
email VARCHAR(40) NOT NULL,
password CHAR(40) NOT NULL,
registration_date DATETIME NOT NULL,
PRIMARY KEY (user_id)                          //设置主键
);

use mytest;         //在该数据库下
show TABLES;              //显示表格

use mytest;
show COLUMNS FROM users;            //显示表格结构

use mytest;
INSERT INTO users(first_name, last_name, email, password, registration_date) VALUES         //往users表格中插入数据
('Larry','Ullman','[email protected]', SHA('password'), NOW()),            //数据项之间用逗号隔开
('Paul', 'McCartney', '[email protected]', SHA('letITbe'),NOW()),                //SHA为加密方式
('John', 'Lennon', '[email protected]', SHA('Happin3ss'),NOW()),                 //NOW()为取当前时间
('George', 'Harrison', '[email protected]',SHA('something'),NOW()),
('Ringo', 'Starr', '[email protected]',SHA('thisboy'),NOW());
('Lee','Rock','[email protected]', SHA('rockLee'), NOW()),
('Allen', 'AI', '[email protected]', SHA('Iverson'),NOW()),
('Melle', 'Johns', '[email protected]', SHA('Melle123'),NOW()),
('Bin', 'Harry', '[email protected]',SHA('Bingo'),NOW()),
('Harry', 'Stary', '[email protected]',SHA('thisboy'),NOW());
('David','Johns','[email protected]', SHA('davidjohns'), NOW()),
('Mike', 'Nesmith', '[email protected]', SHA('mike263'),NOW()),
('Peter', 'Tork', '[email protected]', SHA('petertork'),NOW()),
('Tony', 'Morrison', '[email protected]',SHA('tonymorrison'),NOW()),
('Abe', 'Simpson', '[email protected]',SHA(''),NOW());             //最后以分号结束

use mytest;
select * FROM users;              //显示表格内容

use mytest;
select first_name , last_name FROM users;  //显示first_name, last_name

use mytest;
select NOW();          //显示当前时间

/* 使用条件语句,格式:  SELECT * FROM tablename WHERE columnname = 'value';  */

use mytest;
SELECT email FROM users WHERE last_name = 'Lennon';  //where是条件语句

use mytest;
SELECTemail FROM users WHERE (registration_date &gt; '2008-06-0109:51:42') AND (registration_date < '2008-06-01 10:16:49');
//AND表示两个条件都为真,&&也是AND,类似的有: OR(||) , NOT (!)

/*  使用LIKE和NOT LIKE语句 */
use mytest;
SELECT * FROM users WHERE last_name LIKE 'S%';   //LIKE表示条件,该句条件是以S开头的若干数据
SELECT first_name, last_name FROM users WHERE email NOT LIKE '%@163.com';

/* 对查找结果进行排序,格式: SELECT * FROM tablename ORDER BY column */
use mytest;
SELECT first_name,registration_date FROM users ORDER BY registration_date; //默认是ASC,升序

use mytest;
SELECT first_name,registration_date FROM users ORDER BY registration_date DESC;   //降序排列,只要有NULL,不管升降序,一定最先显示
//综合一下:
use mytest;
SELECT * FROM users WHERE registration_date >= '2008-06-01 10:16:49' ORDER BY registration_date DESC;
//ORDER要放在其它条件的后面

/* 限制查询结果,放在更后面:  LIMIT 返回需要多少条记录
use mytest;
SELECT * FROM users ORDER BY registration_date ASC LIMIT 1,1;  //LIMIT从第0条开始,跟C的数组一样,所以该句的意思是
                                                               //从第2条开始,返回一条数据,然后改动观察变化

/* 更新数据:  UPDATE tablename SET column = 'value'; */
//先看看原来的数据是怎么样的:
use mytest;
SELECT * FROM users WHERE user_id = 17;
//然后更新:
use mytest;
UPDATE users SET email = '[email protected]' WHERE user_id = 17;
//最后,再看看更改后是怎样的
use mytest;
SELECT * FROM users WHERE user_id = 17;

/* 删除数据 : DELETE FROM tablename WHERE column = 'value'; */
eg. use mytest; DELETE FROM users WHERE user_id = 7;

作者: casual0402   发布时间: 2008-06-01

作者: luzhou   发布时间: 2008-06-01

热门下载

更多