SQL使用指南(案例集合) - 图文

更新时间:2023-10-06 05:00:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

MySQL数据库使用技术 1. 2. 3. 4. 5. 接使用数据库 c:\\mysql\\bin> mysql -u root -p 连 接远程数据库 c:\\mysql\\bin> mysql -h 202.117.18.85 -u root -p 连 oot密码修改 mysql> set password for root=PASSWORD(“新密码”); R 顶级配置设了密码 给Sqlhome\\mysqladmin –u root –p password “YOUR NEW PASSWORD” 建和删除数据库 创create database 数据库名; #create database chinafan; drop database 数据库名; drop database if exists fansel; 据库使用授权设置 数grant create,select,insert,update,delete,drop on 数据库名 to 用户名 identified by password “密码”; grant create, select, insert, update, delete, drop on chinafan.* to zhang_yiyun identified by '813116'; 示用户特权 show grants for chinafan; (用户名) 显 示状态 show status; 显 用命令脚本 mysql> sh mysql.sh; 使 除一个表 drop table userword; 删drop table if exists userword; 建一个表 创create table userword( userwordID int(6) unsigned not null auto_increment primary key, name char(32) not null, email varchar(64) not null, publish tinyint(2) default 0, primary key(userwordID)); 属性: not null, default value, auto_increment, primary key 数据类型: 整数:TINYINT,SMALLINT,INT, 实数:FLOAT(M,D)/DOUBLE(M,D), REAL(M,D),DECIMAL(M,D) 日期:DATE,TIME,DATETIME,TIMESTAMP(12),YEAR(2/4) 字符:CHAR,VARCHAR(可变长度),TEXT 65K, BLOB(不区分大小写),TINYTEXT 255个,MEDIUMTEXTEXT 16M 示表的结构 show columns from userword 显 改表的结构 P158 修alter table userwordl drop col_name alter table userwordl add col_name ... first 或after col_name alter table userword add ID int not null auto_increment primary key first ; alter table userword add publish int not null default 0 after date ; alter table userword change userwordID ID int(8) not null auto_increment primary key; alter table userword modify name char(32) not null ; alter table qylw add dateUp datetime after date 入记录 插insert into userword(userwordID,email) values(2,?zhang@xjtu.edu.cn?); 除记录 删delete from userword where userwordID=1; delete from userword; (删除所有记录) 择记录 选select userwordID,email from userword order by name; select * from userword where userwordID=1; select * from userword where userwordID=1 or name link ?%zhang%?; 改记录 修update userword set email=?zyiyun@263.net? where userwordID=1; 1

6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.

MySQL数据库使用技术 18. 记 录排序 select * from userword order by userwordID asc 上升 / desc 下降 select name from customers limit 2,3; (limit 起始值,显示数目) 19. 将 特殊字符转换MySql可使用的字符 ?“ => \\” AddSlashes()/StripSlashes(); 20. 用
替换换行符 nl2br() 21. 对 HTML文本行换码 htmlspecialchars($htmltext); 22. M ySql常用函数 P282(PHP4) 23. 错 误检查 mysql_errno(); != 0 有错误. 24. 禁 止不希望的错误显示 error_reporting(mask); 25. 连 接数据库 $connect= mysql_pconnect( $MySqlHost, $MySqlName, $MySqlPass); 26. 选 择数据库 mysql_select_db(database); 27. 检 查不返回表行的查询 mysql_affected_rows() 返回最近的查询影响的行数. 28. 向 表中插入一行时, 确定所分配的主键的值mysql_insert_id(); 29. $ result=mysql_query($sql) $num=mysql_num_rows($result); 30. m ysql_fetch_row($result) 31. m ysql_fetch_array( $result, _MYSQL_ASSOC) 32. 获 得结果中指定行 $row= mysql_data_seek( $result, $No); // 组合使用 $row= mysql_fetch_array($result); 33. 获 得结果集的列数 mysql_num_fields($result) 34. 获 得结果集的列名称 mysql_field_name($result, 0) 35. 获 得结果集的长度 mysql_field_len($result, 0) 36. 获 得结果集相关的MySql标志 mysql_field_falgs($result, 0) 标志类型 P309(PHP4) 37. 获 得结果集列的MySql类型 mysql_field_type($result, 0) 38. 确 定与结果集相关的MySql表 mysql_field_tables($result, 0) 39. 获 得完整的结果集结构 mysql_field_filed($result) P311(PHP4) 40. 确 定服务器所存储的数据库 mysql_list_dbs(); 41. 确 定数据库中包含的表 mysql_list_tables(“chinafan”); 42. m ysql_tablename($result, $i) P314(PHP4) 43. 确 定表中包含的列 mysql_list_fields(“chinafan”,”userword”); 44. 在 PHP.ini中设置 session存储文件子目录, 文件子目录必须带/,例如”f:/session/” global $name; (必须是全局变量) session_start(); // 一开始就执行 session_start(); 在所有输出语句之前. $name= ?123?; session_register(“name”); session_is_registered(\session_destroy( ); 45. H ttp浏览器反应慢,是由于flash中有慢的Http指向造成的. 46. 查 看表结构 describe 表名; 47. L imit 常用于分页 offset 为偏移数 例如:select f_username,f_name from t_user limit 2 offset 1; 从第二行开始找到两条记录。 48. 例 :Like ?王%? 通配符“%”表示匹配0到多个任意字符,可以使用任意多次。 49.

2

MySQL数据库使用技术 50. 消 除重复行:要消除结果中的重复行,只要在SELECT语句中加上DISTINCT子句: 例:SELECT DISTINCT BRANCH_OFFICE FROM EMPLOYEES; 51. 按 照多个条件排序:DESC降序, SELECT BRANCH_OFFICE,FIRST_NAME,LAST_NAME,SALARY, HIRE_DATE FROM EMPLOYEES ORDER BY SALARY DESC, HIRE_DATE DESC;

############一个script文件exec.sql################

drop database if exists fansel; #####如果已存在一个数据库就消除掉。 create database fansel; ##建立一个新的数据库wang use fansel;

grant create, select, insert, update, delete, drop on fansel.* to zhang_yiyun identified by '111111';

grant create, select, insert, update, delete, drop on fansel.* to wangxd identified by 'jdcreate';

create table fansel(id int(6),name varchar(32),unitname varchar(32),email varchar(32)); insert into fansel values('1','Zhang Yiyun','西安交通大学','fan @fansoft.net');

insert into fansel values('2','Wang Xiaodong','深圳大学','jdcreate@hotmail.com'); insert into fansel values('3','Wang Xiaodong2','深圳大学2','jdcreate@hotmail.com'); insert into fansel values('4','Wang Xiaodong3','深圳大学3','jdcreate@hotmail.com'); insert into fansel values('5','Zhang Yiyun2','西安交通大学2','fan@fansoft.net');

1. mysql> create table albums ( 这里我在使用DDL -> title varchar(100), 设置表格,在表格中 -> artist varchar(100), 我将存储一些 -> released date); 音乐资料

现在是DML,用于告诉MyDQL在album中加入记录 2. mysql> insert into albums(title,artist,released)

-> values('Selling England By The Pound','Genesis','1973-01-01');

3. select title, released from albums where artist = 'Genesis' order by released

4. mysql> update albums

-> set released = '1973-02-01'

-> where title = 'Selling England by the Pound' -> and artist = 'Genesis';

5. mysql> delete from albums where artist = 'Genesis';

Mysql数据库操作新手入门

3

MySQL数据库使用技术

文章作者:FengLin

由于新手入门PHP+Mysql技术,必定对Mysql操作存有疑问。

尽管PHPMyadmin管理数据库对新手来说也不妨为一种很好的方式。但更多的实际使用还要靠大家对Myql语句格式 的精通和熟练的操作。

为了方便新手尽快入门,掌握Mysql的奥妙。在下费了一个礼拜时间的调试和整理,终于完稿了这份比较完善的入

门级操作实例的指南。希望能给新入门的朋友扬帆指路,送一满帆的顺风。

Mysql4.1.10初级解读

※※※※※※※※※※※※※※Mysql 初级解读 (所用版本:4.1.10)※※※※※※※※※※※※※※

安装注意事项

在安装的过程中,请记好您的密码,这是将来登录mysql的钥匙。

=======================无==敌==分==割==线=======================

一、Mysql数据库服务器登录

登录mysql需要切换到dos下的mysql的bin目录,进行如下操作:

语法格式:mysql -h host_name -u user_name -p password (本机的话-h 和host_name可省)

----------------------我------------割--------------------------

My Experience:

C:\\program files\\mysql\\mysql server 4.1\\bin>mysql -u root -p Enter password:******

先输入用户名和密码登陆要求(加上-p),回车后等出现\password:\,再输入密码回车,这样就可以

成功登陆mysql,否则将会登陆失败。

----------------------我------------割--------------------------

登陆成功后会显示如下信息:

4

MySQL数据库使用技术

Welcome to the MySQL monitor. Commands end with ; or \\g. Your MySQL connection id is 1 to server version: 4.1.10-nt

Type 'help;' or '\\h' for help. Type '\\c' to clear the buffer.

mysql>

标识\,当你看到这个出现在窗口的最左边的顶格时,这就是告诉你,你可以输入命令进行操作了。

mysql> \\s 查看版本信息

mysql> \\q or mysql> quit 退出mysql数据库服务器

mysql> \\h or mysql> help 查看帮助(其他的数据库服务器相关命令)

=======================无==敌==分==割==线=======================

二、数据库操作

所要注意的是,所有举例的显示结果,均为下面操作步骤按顺序进行的结果。

----------------------我------------割--------------------------

2.1 查询语句

2.1.1 查看Mysql数据库的版本号和服务器的当前日期 mysql> select version(),current_date; (操作方式一)

mysql> select version()

-> ,current_date; (操作方式二)

※:操作语句间用\隔开,用\来表示操作结束,操作语句输入过程中,换行不影响操作过程。

2.1.2 查看服务器中的所有数据库 mysql> show databases;

----------------------我------------割--------------------------

2.2 创建数据库

2.2.1 创建数据库(当然,数据库名\不能是已经存在的)

5

MySQL数据库使用技术

+---------+-----------+

查询emp和dept这两个表中,员工的姓名和部门信息 mysql> select emp.emp_name,dept.dept_name from emp,dept -> where emp.emp_id=dept.dept_id;

查询结果如下: +----------+-----------+ | emp_name | dept_name | +----------+-----------+ | 啸天 | MTD | | 红枫 | MTD | | 丽鹃 | MTD | | 小红 | HR |

+----------+-----------+ 4 rows in set (0.00 sec)

多表查询时注意:

1). FROM子句必须给出所查询的表的全部名称

2). 选择字段时候注明其所属表的名称(如emp表中的emp_id要表示为emp.emp_id) 3). 在Where子句中必须指明查询的条件(如,emp.emp_id和dept.dept_id是相同意义的元素)

----------------------我------------割--------------------------

2.7 删除表单数据

2.7.1 使用DELETE语句删除表单中的数据记录 小红不在了哦,得删了吧

mysql>delete from emp where emp_name='小红';

执行成功后会如下显示:

Query OK, 1 row affected (0.06 sec)

省略where是删除全部表中的记录

2.7.2 使用DRO删除表

(先随便建立一个数据库dt,并建张临时表fuck)

mysql>drop table fuck;

2.7.3 使用DRO删除数据库 mysql>drop database dt;

----------------------我------------割--------------------------

16

MySQL数据库使用技术

2.8 改变数据表的结构

先建立一个新表id (内带一个属性id_name varchar(6)),输入一行数据(xgw)

2.8.1 对表重新命名

alter table 数据表名 rename as 数据表的新名字;

把表id改名成name

mysql> alter table id rename as name;

2.8.2 给数据表增加一个字段

alter table 数据表名 add 字段名称 字段类型;

在改过名的新表name中增加一个字段(id int(6)) mysql>alter table name add id int(6);

增加成功后有如下显示:

Query OK, 1 row affected (0.26 sec) Records: 1 Duplicates: 0 Warnings: 0

2.8.3 更改已经建立的字段类型

alter table 数据表名 modify 字段名称 字段类型;

把name表中id属性的类型改成10个长度的字符类型 mysql> alter table name modify id varchar(10);

alter talbe语句还有很多功能,具体可查阅MySQL的技术手册。

(the questions,call me anytime! E-mail:tt981@netease.com)

※※※※※※※※※※※※※※Mysql 初级解读 (所用版本:4.1.10)※※※※※※※※※※※※※※

CopyRight By FengLin , 2005-4-29

文件操作

// 打开文件同时打印文件的每一个字符 if($myFile = fopen(\{

while(!feof($myFile)) {

$myCharacter = fgetc($myFile); print($myCharacter);

17

MySQL数据库使用技术

} fclose($myFile); } ?>

获得文件属性

print(\文件的所有者(UID 值):\print(fileowner(\print(\文件的大小:\

print(filesize(\print(\文件的类型:\

print(filetype(\

打开文件同时,打印每一行

18

MySQL数据库使用技术

// 打开文件同时,打印每一行 $myFile = file( \

for($index = 0; $index < count($myFile); $index++) {

print($myFile[$index].\}

PHP判断文件是否存在

print(\文件是否存在?\ if(file_exists(\ { print(\这个文件存在\//文件存在 print(fileinode(\ } else { print(\文件不存在\ //文件不存在 } ?>

访问文件时间属性

$LastAccess = fileatime(\print(\文件最后的存取时间为:\print(date(\print(\

$LastA = filectime(\print(\文件最后的改变时间:\print(date(\print(\

$LastB = filemtime(\print(\文件最后的修改时间:\print(date(\print(\

word绘制水平线

19

MySQL数据库使用技术

如果你需要绘制双直线,只要连续输入三个或者三个以上的“=” ,然后回车,双直线就自动生成了;

如果你需要绘制波浪线,只要连续输入三个或者三个以上的“~” ,然后回车,波浪线就自动生成了;

如果你需要绘制虚线,只要连续输入三个或者三个以上的“*” ,然后回车,虚线就自动生成了;

如果你需要绘制细直线,只要连续输入三个或者三个以上的“-” ,然后回车,双直线 如果你需要绘制实心线,只要连续输入三个或者三个以上的“#” ,然后回车,实心线就自动生成了...

创建目录函数

if(mkdir(\ {

print(\目录创建成功\ } else {

print(\目录建立失败!\ } ?>

//创建目录的函数 //目录建立成功

//目录建立失败

浏览目录

// 使用表格浏览目录的结构

print(\ // 创建表格的头

print(\ print(\文件名\\n\

print(\文件的大小\\n\ print(\

$myDirectory = opendir(\ // 建立操作目录的句柄 // 读出目录中的每一个子项

while($entryName = readdir($myDirectory)) {

print(\

print(\ print(\ print(filesize($entryName)); print(\ print(\ }

closedir($myDirectory); // 关闭目录 print(\

20

本文来源:https://www.bwwdw.com/article/4sgd.html

Top