mysql数据库文档_第1页
mysql数据库文档_第2页
mysql数据库文档_第3页
mysql数据库文档_第4页
mysql数据库文档_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、由于新手入门PHP+Mysql技术,必定对Mysql操作存有疑问。尽管PHPMyadmin管理数据库对新手来说也不妨为一种很好的方式。但更多的实际使用还要靠大家对Myql语句格式的精通和熟练的操作。为了方便新手尽快入门,掌握Mysql的奥妙。在下费了一个礼拜时间的调试和整理,终于完稿了这份比较完善的入门级操作实例的指南。希望能给新入门的朋友扬帆指路,送一满帆的顺风。 Mysql4.1.10初级解读Mysql 初级解读 (所用版本:4.1.10)安装注意事项在安装的过程中,请记好您的密码,这是将来登录mysql的钥匙。=无=敌=分=割=线=一、Mysql数据库服务器登录登录mysql需要切换到d

2、os下的mysql的bin目录,进行如下操作:语法格式:mysql -h host_name -u user_name -p password (本机的话-h 和host_name可省,即:mysql -u root -p)-我-割- My Experience: C:program filesmysqlmysql server 4.1binmysql -u root -p Enter password:* 先输入用户名和密码登陆要求(加上-p),回车后等出现Enter password:,再输入密码回车,这样就可以成功登陆mysql,否则将会登陆失败。-我-割- 登陆成功后会显示如下信息:

3、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,当你看到这个出现在窗口的最左边的顶格时,这就是告诉你,你可以输入命令进行操作了。 mysql s 查看版本信息mysql q or mysql quit 退出mysql数据库服务器mysql h or mysql help 查看帮助(

4、其他的数据库服务器相关命令)doc 下停止mysql: net stop mysql doc 下启动mysql : net start mysql =无=敌=分=割=线=二、数据库操作 所要注意的是,所有举例的显示结果,均为下面操作步骤按顺序进行的结果。-我-割-2.1 查询语句2.1.1 查看Mysql数据库的版本号和服务器的当前日期 mysql select version(),current_date; (操作方式一) mysql select version() - ,current_date; (操作方式二) :操作语句间用,隔开,用;来表示操作结束,操作语句输入过程中,换行不影响操

5、作过程。2.1.2 查看服务器中的所有数据库mysql show databases;2.1.3 显示MySQL数据库里表的概要mysql show table status from 数据库名G -我-割-2.2 创建数据库2.2.1 创建数据库(当然,数据库名asb不能是已经存在的) mysql create database asb;2.2.2 选用数据库,使其成为当前操作的数据库 mysql use asb; 成功选中后会有如下显示: Database changed 甚至可以在窗口命令登陆mysql数据库的时候直接选中要操作的数据库(当然前提是asb数据库存在) binmysql a

6、sb -u uesername -p Enter password:*2.2.3 查看当前所操作的数据库名称 mysql select database(); 运行后结果如下: +-+ | database() | +-+ | asb | +-+ 1 row in set (0.00 sec)-我-割-2.3 创建表2.3.1 用create table创建表(确认是要在当前数据库中创建,不是的话就先用use选中要创建表的那个数据库) mysql create table emp(emp_id varchar(6) - ,emp_name varchar(10) - ,emp_age int

7、- ,emp-sal int - ,emp_bir date - ,emp_sex varchar(5) - );2.3.2 查看当前数据库中的表(可以检验上例的emp表是否成功建立) mysql show tables; 如果是成功将是如下显示: +-+ | Tables_in_asb | +-+ | emp | +-+ 1 row in set (0.00 sec)2.3.3 查看数据表的结构 mysql describe emp; 运行后结果会如如下显示: +-+-+-+-+-+-+ | Field | Type | Null | Key | Default | Extra | +-+-

8、+-+-+-+-+ | emp_id | varchar(6) | YES | | NULL | | | emp_name | varchar(10) | YES | | NULL | | | emp_age | int(11) | YES | | NULL | | | emp_sal | int(11) | YES | | NULL | | | emp_bir | date | YES | | NULL | | | emp_sex | varchar(5) | YES | | NULL | | +-+-+-+-+-+-+-我-割-2.4 插入数据2.4.1 使用INSERT语句进行插入记录操

9、作(数据库表中每一行就是一个记录,插入记录实际上就是向表中插入一行) 格式:INSERT INTO table_name(数据表名) VALUES(值1,值2,值3.); 在VALUES关键字后括号中的数值和字符段,必须和你所建的表所定义的字段数据类型必须一致! mysql insert into emp values - (100005,啸天,27,3000,1979-07-10,male); 插入成功后会有如下信息显示: Query OK, 1 row affected (0.03 sec)2.4.2 查看表中的数据(可以确定数据是否已经成功插入) mysql select * from

10、emp; 成功插入后的数据显示如下: +-+-+-+-+-+-+ | emp_id | emp_name | emp_age | emp_sal | emp_bir | emp_sex | +-+-+-+-+-+-+ | 100005 | 啸天 | 27 | 3000 | 1979-07-10 | male | +-+-+-+-+-+-+ 1 row in set (0.00 sec) 一次性插入多行的格式:INSERT INTO table_name(数据表名) VALUES(值1,值2,值3.),(值1,值2,值3.); mysql insert into emp values (1000

11、01,红枫,29,8000,1977-01-01,male),(100002,丽鹃,27,7000,1979-12-31,fmale); 可以查看插入后的数据结果: mysql select * from emp; +-+-+-+-+-+-+ | emp_id | emp_name | emp_age | emp_sal | emp_bir | emp_sex | +-+-+-+-+-+-+ | 100005 | 啸天 | 27 | 3000 | 1979-07-10 | male | | 100004 | 红枫 | 29 | 8000 | 1977-01-01 | male | | 1000

12、02 | 丽鹃 | 27 | 7000 | 1979-12-31 | fmale | +-+-+-+-+-+-+ 3 rows in set (0.00 sec)-我-割-2.5 修改数据2.5.1 使用UPDATE语句来更新表中的数据 mysql update emp set emp_id=100001 where emp_name=红枫; 修改结果显示如下: +-+-+-+-+-+-+ | emp_id | emp_name | emp_age | emp_sal | emp_bir | emp_sex | +-+-+-+-+-+-+ | 100005 | 啸天 | 27 | 3000 |

13、 1979-07-10 | male | | 100001 | 红枫 | 29 | 8000 | 1977-01-01 | male | | 100002 | 丽鹃 | 27 | 7000 | 1979-12-31 | fmale | +-+-+-+-+-+-+ 3 rows in set (0.00 sec) 如果该语句没有后面的where限制,将会对表中所有的记录都进行修改。 如,给全部人加薪1000,可以如下修改: mysql update emp set emp_sal=emp_sal+1000; 修改结果显示如下: +-+-+-+-+-+-+ | emp_id | emp_name

14、| emp_age | emp_sal | emp_bir | emp_sex | +-+-+-+-+-+-+ | 100005 | 啸天 | 27 | 4000 | 1979-07-10 | male | | 100001 | 红枫 | 29 | 9000 | 1977-01-01 | male | | 100002 | 丽鹃 | 27 | 8000 | 1979-12-31 | fmale | +-+-+-+-+-+-+ 3 rows in set (0.00 sec)-我-割-2.6 高级查询方法2.6.1 记录查询 查询emp表中,emp_name为啸天的全部信息 mysql sele

15、ct * from emp where emp_name=啸天; 查询结果显示如下: +-+-+-+-+-+-+ | emp_id | emp_name | emp_age | emp_sal | emp_bir | emp_sex | +-+-+-+-+-+-+ | 100005 | 啸天 | 27 | 4000 | 1979-07-10 | male | +-+-+-+-+-+-+ 1 row in set (0.00 sec) 查询emp表中,emp_sal,工资在5000以上的全部信息 mysql select * from emp where emp_sal5000; 查询结果显示如

16、下: +-+-+-+-+-+-+ | emp_id | emp_name | emp_age | emp_sal | emp_bir | emp_sex | +-+-+-+-+-+-+ | 100001 | 红枫 | 29 | 9000 | 1977-01-01 | male | | 100002 | 丽鹃 | 27 | 8000 | 1979-12-31 | fmale | +-+-+-+-+-+-+ 2 rows in set (0.00 sec) 查询emp表中在1978年1月1日之后出生的 mysql select * from emp where emp_bir1978-01-01;

17、 查询结果显示如下: +-+-+-+-+-+-+ | emp_id | emp_name | emp_age | emp_sal | emp_bir | emp_sex | +-+-+-+-+-+-+ | 100005 | 啸天 | 27 | 4000 | 1979-07-10 | male | | 100002 | 丽鹃 | 27 | 8000 | 1979-12-31 | fmale | +-+-+-+-+-+-+ 2 rows in set (0.00 sec) 查询emp表中在1979年12月1日之前出生,工资在5000以上的 mysql select * from emp where

18、 emp_bir5000; 查询结果显示如下: +-+-+-+-+-+-+ | emp_id | emp_name | emp_age | emp_sal | emp_bir | emp_sex | +-+-+-+-+-+-+ | 100001 | 红枫 | 29 | 9000 | 1977-01-01 | male | +-+-+-+-+-+-+ 1 row in set (0.00 sec)2.6.2 字段查询 CEO查看员工工资情况 mysql select emp_name,emp_sal from emp; 查询结果显示如下: +-+-+ | emp_name | emp_sal |

19、 +-+-+ | 啸天 | 4000 | | 红枫 | 9000 | | 丽鹃 | 8000 | +-+-+ 3 rows in set (0.00 sec) 查看1978年后出生的人的姓名、工资和性别 mysql select emp_name,emp_sal,emp_sex from emp where emp_bir1977-12-31; 查询结果显示如下: +-+-+-+ | emp_name | emp_sal | emp_sex | +-+-+-+ | 啸天 | 4000 | male | | 丽鹃 | 8000 | fmale | +-+-+-+ 2 rows in set (0

20、.00 sec)2.6.3 查询结果排序 用ORDER BY语句对emp表中所有员工工资高低顺序查询结果(默认是从低到高升序) mysql select * from emp order by emp_sal; 查询结果显示如下: +-+-+-+-+-+-+ | emp_id | emp_name | emp_age | emp_sal | emp_bir | emp_sex | +-+-+-+-+-+-+ | 100005 | 啸天 | 27 | 4000 | 1979-07-10 | male | | 100002 | 丽鹃 | 27 | 8000 | 1979-12-31 | fmale

21、 | | 100001 | 红枫 | 29 | 9000 | 1977-01-01 | male | +-+-+-+-+-+-+ 3 rows in set (0.00 sec) 用DESC关键字来进行从高到低排序降序 mysql select * from emp order by emp_sal desc; 查询结果显示如下: +-+-+-+-+-+-+ | emp_id | emp_name | emp_age | emp_sal | emp_bir | emp_sex | +-+-+-+-+-+-+ | 100001 | 红枫 | 29 | 9000 | 1977-01-01 | ma

22、le | | 100002 | 丽鹃 | 27 | 8000 | 1979-12-31 | fmale | | 100005 | 啸天 | 27 | 4000 | 1979-07-10 | male | +-+-+-+-+-+-+ 3 rows in set (0.00 sec)2.6.4 查询结果数量的限制 用LIMIT查看emp表中工资收入排名前两个员工的资料: mysql select * from emp order by emp_sal desc limit 2; 查询结果显示如下: +-+-+-+-+-+-+ | emp_id | emp_name | emp_age | emp_

23、sal | emp_bir | emp_sex | +-+-+-+-+-+-+ | 100001 | 红枫 | 29 | 9000 | 1977-01-01 | male | | 100002 | 丽鹃 | 27 | 8000 | 1979-12-31 | fmale | +-+-+-+-+-+-+ 2 rows in set (0.00 sec) 查看工资排名第2到第3的员工资料: mysql select * from emp order by emp_sal desc limit 1,2; 查询结果显示如下: +-+-+-+-+-+-+ | emp_id | emp_name | emp

24、_age | emp_sal | emp_bir | emp_sex | +-+-+-+-+-+-+ | 100002 | 丽鹃 | 27 | 8000 | 1979-12-31 | fmale | | 100005 | 啸天 | 27 | 4000 | 1979-07-10 | male | +-+-+-+-+-+-+ 2 rows in set (0.01 sec) 使用rand()抽样调查,随机抽取2个员工,查看其资料 mysql select * from emp order by rand() limit 2; 如如下结果:(随机的) +-+-+-+-+-+-+ | emp_id |

25、 emp_name | emp_age | emp_sal | emp_bir | emp_sex | +-+-+-+-+-+-+ | 100005 | 啸天 | 27 | 4000 | 1979-07-10 | male | | 100001 | 红枫 | 29 | 9000 | 1977-01-01 | male | +-+-+-+-+-+-+ 2 rows in set (0.01 sec)2.6.5 查询结果的字段联合和重新命名 mysql select concat(emp_id, ,emp_name) from emp; 查询结果: +-+ | concat(emp_id, ,em

26、p_name) | +-+ | 100005 啸天 | | 100001 红枫 | | 100002 丽鹃 | +-+ 3 rows in set (0.00 sec) 用AS关键字重新给输出结果命名标题 mysql select concat(emp_id, ,emp_name) as info from emp; 查询结果如下显示: +-+ | info | +-+ | 100005 啸天 | | 100001 红枫 | | 100002 丽鹃 | +-+ 3 rows in set (0.00 sec)2.6.6 日期查询的相关运算 可以通过YEAR()、MONTH()、DAYOFMON

27、TH()函数来提取日期的组成元素 查询7月份出生的员工资料: mysql select * from emp where month(emp_bir)=7; 查询结果显示如下: +-+-+-+-+-+-+ | emp_id | emp_name | emp_age | emp_sal | emp_bir | emp_sex | +-+-+-+-+-+-+ | 100005 | 啸天 | 27 | 4000 | 1979-07-10 | male | +-+-+-+-+-+-+ 1 row in set (0.00 sec) 可以利用英文月份来查询: mysql select * from em

28、p where monthname(emp_bir)=January; 查询结果显示如下: +-+-+-+-+-+-+ | emp_id | emp_name | emp_age | emp_sal | emp_bir | emp_sex | +-+-+-+-+-+-+ | 100001 | 红枫 | 29 | 9000 | 1977-01-01 | male | +-+-+-+-+-+-+ 1 row in set (0.00 sec) 利用TO_DAYS()函数可以查询出职工们从出生到现在所经历的时间,单位是天数 mysql select to_days(current_date) - t

29、o_days(emp_bir) as livingdays from emp; 查询后结果如下: +-+ | livingdays | +-+ | 9425 | | 10345 | | 9251 | +-+ 3 rows in set (0.00 sec) 计算从现在开始经历100天后的日期 mysql select date_add(now(),interval 100 day); 查询结果如下: +-+ | date_add(now(),interval 100 day) | +-+ | 2005-08-07 13:56:58 | +-+ 1 row in set (0.00 sec) 计

30、算从现在开始经历100天前的日期 mysql select date_sub(now(),interval 100 day); 查询结果如下: +-+ | date_sub(now(),interval 100 day) | +-+ | 2005-01-19 14:00:20 | +-+ 1 row in set (0.00 sec)2.6.7 数据统计 使用COUNT()函数计算表中的数据数目(比如emp表中的员工数目) mysql select count(*) from emp; 查询结果如下: +-+ | count(*) | +-+ | 3 | +-+ 1 row in set (0

31、.01 sec) 统计工资上5000的数目 mysql select count(*) from emp where emp_sal5000; 查询结果如下: +-+ | count(*) | +-+ | 2 | +-+ 1 row in set (0.00 sec) 统计男女职工数目:(GROUP BY语句分类) mysql select emp_sex,count(*) from emp group by emp_sex; 查询结果如下: +-+-+ | emp_sex | count(*) | +-+-+ | fmale | 1 | | male | 2 | +-+-+ 2 rows i

32、n set (0.01 sec) 使用数据统计函数(MIN(),MAX(),SUM(),AVG()) mysql select - min(emp_sal) as min_salary, - max(emp_sal) as max_salary, - sum(emp_sal) as sum_salary, - avg(emp_sal) as avg_salary, - count(*) as employee_num - from emp; 查询结果如下: +-+-+-+-+-+ | min_salary | max_salary | sum_salary | avg_salary | emp

33、loyee_num | +-+-+-+-+-+ | 4000 | 9000 | 21000 | 7000.0000 | 3 | +-+-+-+-+-+ 1 row in set (0.00 sec)2.6.8 从多个数据表中检索信息 根据前面的方法,分别进行如下操作: 1). 在数据库asb中建立一个新表dept,表中有两项元素: dept_id - varchar(6) dept_name - varchar(10) 2). 在表emp中插入如下一行新记录: +-+-+-+-+-+-+ | emp_id | emp_name | emp_age | emp_sal | emp_bir | emp_sex | +-+-+-+-+-+-+ | 100003 | 小红 | 30 | 8000 | 1976-11-11 | fmale | +-+-+-+-+-+-+ 3). 在新表dept中,输入如下记录 +-+-+ | dept_id | dept_name | +-+-+ | 100005 | MTD | | 100001 | MTD | | 100002 | MTD | | 100003 | HR | +-+-+ 查询emp和dept这两

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论