网站主页   操作系统    网络工程    服务器    网页制作    数据库    程序开发    网络安全    办公软件   
  栏目导航
讲座日期: 本周六下午1点30分 抢座
讲座地点: 北大青鸟马甸校区
主讲老师: 王老师 金牌讲师
讲座主题: 网络安全
讲座内容: 检测、防御、黑客信息,如何过滤不安全的网站,如何防御黑客的进攻。
订座电话: 010-82011432/33
  您当前位置:主页 > 网络学院 > 数据库 > MYSQL >

MySQL中基础命令简述




马甸北大青鸟网络班峰哥的课后小实验:
=====================================================================
前两天学习了MS SQL Server,从安装到使用花了差不多半天时间,太麻烦了,资源浪费也比较大,我家里的电脑装上SQL 2005就没办法运行其它的东西了,老师还说以后还要升级SQL 2008,我的天啊,没有环境我的SQL语句怎么练习啊,从Win 2003升级到Win 2008可见一斑,看来我的电脑该退役了。昨天听老师说还有好多数据库可用,就拿今天咱们说的那个来说,它是使用资源最少的数据库了,也是用的SQL命令,他叫什么呢——MySQL,哈哈~~~~~·····
感觉果真不错,好啦,不多说啦,以下是实验内容:
首先到官网上下载MySQL安装上就行了,它是免费的,不用任何配置,直接安装就OK,具体步骤,略……
我安装到了D:分区下,当然放到哪儿都无所谓
我们要练习的是命令,所以Web方式的咱就不说了,今天主要说命令:
首先,定位到目录 ” bin“,并输入命令 “ mysql -u(UserName) -p " 回车
D:\PHP\MySQL545\bin>mysql -uroot -p    //////我用的是默认用户名root,一定要和咱们学的MSSQL的默认用户sa区分开啊

Enter password: ****** ////////////////输入密码
mysql>   /////////出现这个证明没问题了,可以正常使用了
先来查看一下当前系统日期
mysql> select curdate();

+------------+
| curdate()  |
+------------+
| 2011-05-06 |
+------------+

 

我们在第一学期的时候学习过Windows网络服务,假如说要搭建一台Web服务器的话,需要MySQL做支撑,里面可能会有很多站点,这样的话,为了服务器的安全考虑,我们可以为每一个站点创建一个用户,为不同用户设置不同的权限
创建新用户命令:
mysql> create user username1 identified by 'password',username2 identified by 'password';

 

为创建的用户进行授权
mysql> grant usage on *.* to 'UserName'@'localhost' indentified by 'UserPwd' with grant option;
mysql> flush privileges;

 

用户创建完成了,那数据库里得有库才可以
创建数据库“yoopong_com” 

mysql> create database yoopong_com;  ////////create database 数据库名;

 

如果说不想不了的话,可以删除数据库,命令如下:
mysql> drop database 数据库名; //////
删除前判断是否存在
mysql> drop database if exits 数据库名;

建好数据库了,怎么查看它呢,在北大青鸟的课程中,讲MSSQL的时候是在图形化界面里面查看,现在是在命令行的界面,怎么去查看呢,OK,还好老师有我这么强我学生,咱一研究就出来了,当然,还得说人家老师教得好,哈哈~·····
显示所有的数据库命令
mysql> show databases;
+------------------------+
| Database               |
+------------------------+
| information_schema     |
| MySQL545               |
| mysql                  |
| test                   |
| yoopong_com            |   ----------------这就是我新创建的那个库文件
+------------------------+
9 rows in set (0.16 sec)

 

在使用MSSQL的时候,想用哪个数据库就用鼠标点就可以了,列表中这么多的库文件怎么才能确定使用哪个库文件呢,所以我们必须得为当前的操作指定一个数据库名
使用数据库命令:
mysql> use yoopong_com /////////////use 数据库名;
Database changed  ------------系统会提示,数据库已经修改,表示当前的操作环境已经在选择的那个数据库那里了

根据MSSQL的思路,创建完库之后该创建表了,创建表必须得知道它的一个结构是什么样的,每个字段都是什么类型的,青鸟的讲师讲过,虽说数据库里面的字段可以都设置为字符类型,在信息检索上没问题,可以在数据对比,运算的时候,还得把库里面的内容改成数值或是日期类型的再去做运算,这样的话大大增加了运行的时间,降低了运行的速度,下一本书该学ASP.net了,也会用到数据库,数据库的执行速度也决定着网站的浏览速度,所以,还是按照不同的字段设置不同的类型好
创建表pet结构//可分行写
mysql> create table pet (name varchar(20),owner varchar(20),
    -> species varchar(20),sex(1),birth date,death date);

删除表
mysql> drop table 表名;

显示pet的表结构
mysql> describe pet;

表结构的修改-------------------------------------------------------------------------------

学习过数据库的各位都知道 ,数据库最基本的操作就是增、删、改、查,下面我们来看一下其基本的操作
1、增加一个字段
mysql> alter table 表名 add column (字段名 字段类型);
指定增加字段的位置
mysql> alter table 表名 add column 字段名 字段类型 after 某字段;


2、删除一个字段
mysql> alter table 表名 drop 字段名;


3、修改字段sex名称/类型
mysql> alter table 表名 change 旧字段名  新字段名  新字段的类型;
mysql> alter table pet1 change sex sex char(1);


4、修改表的名字
mysql> alter table 表名 rename to 新表名;


5、一次性清空表中的所有数据(此方法也会使表中的取号器ID从1开始)
mysql> truncate table 表名;


增加主键、外键、约束、索引,详见MySQL_Case.txt
1、约束(主键Primary key、唯一性Unique、非空Not Null)


2、自动增长auto_increment


3、外键Foreign key  与 reference table_name(col_name列名)配合使用,建表时单独使用


4、删除多个表中有关联的数据---设置foreign key 为set null


添加一条新记录向表pet
mysql> insert into pet values('Puffball','diane','hamster','f','2011'NULL);
批量上传数据 // 注,每个字段之间用Tab键
mysql> load data local infile 'pte.txt' into table pet;

更新一条记录
mysql> update 表名 set 字段=值 where 字段=值;
mysql> update mytable set name='NewName' where name='OldName';

删除一条记录
mysql> delete from 表名 where 条件;
mysql> delete from mytable where name='Null'
删除整个表中的记录
mysql> delete from 表名;

查询表pet中的所有数据
mysql> select * from pet;
+----------+-----------+---------+------+------------+------------+
| name     | owner     | species | sex  | birth      | death      |
+----------+-----------+---------+------+------------+------------+
| Puffball | Diane     | hamster | F    | 2011-05-05 | NULL       |
| xiaohua  | wuyanpeng | bird    | f    | 2011-05-05 | 2012-12-22 |
| dahuang  | Andy Lau  | dog     | m    | 2011-05-05 | 2012-12-22 |
| xiaohua  | wuyanpeng | bird    | f    | 2011-05-05 | 2012-12-22 |
| dahuang  | Andy Lau  | dog     | m    | 2011-05-05 | 2012-12-22 |
| Fluffy   | Harold    | cat     | f    | 1993-02-04 | 0000-00-00 |
| Claws    | Gwen      | cat     | m    | 1994-03-17 | 0000-00-00 |
| Buffy    | Harold    | dog     | f    | 1989-05-13 | 0000-00-00 |
| Fang     | Benny     | dog     | m    | 1990-08-27 | 0000-00-00 |
| Bowser   | Diane     | dog     | m    | 1979-08-31 | 1995-07-29 |
| Chirpy   | Gwen      | bird    | f    | 1998-09-11 | 0000-00-00 |
| Whistler | Gwen      | bird    | N    | 1997-12-09 | 0000-00-00 |
| Slim     | Benny     | snake   | m    | 1996-04-29 | 0000-00-00 |
| Puffball | Diane     | hamster | f    | 1999-03-30 | 0000-00-00 |
+----------+-----------+---------+------+------------+------------+
14 rows in set (0.05 sec)

条件查询
mysql> select * from pet where (species = 'cat' and sex = 'm') or (species = 'dog' and sex = 'f');
多条件可用and或or,and 优先级要高于or

将字段值重复的记录唯一的检索出来,让相同的记录只显示一个,增加关键字Distinct
mysql> select distinct name form pet;

时间计算
year()提取日期的年部分,right()提取日期的MM-DD(日历年)部分的最右面5个字符。比较MM-DD值的表达式部分的值一般为1或0。如现在日期2012-12-22,出生日期为2001-10-10 那么用year()计算出来的是11,12-22已经超过10-10所以可以按一整年来算,不用再去减掉一年;如果现在日期是10-10,出生日期为12-22,那么10-10没有到12-22那么说还没到一整年,所以逻辑值会为1,则前面算出的年数要减去这个1才是现在的真正年龄。
mysql> select name,birth,curdate(),(year(curdate())-year(birth))-(right(curdate(),5)<right(birth,5)) as age from pet;
+----------+------------+------------+------+
| name     | birth      | curdate()  | age  |
+----------+------------+------------+------+
| Puffball | 2011-05-05 | 2011-05-06 |    0 |
| xiaohua  | 2011-05-05 | 2011-05-06 |    0 |
| dahuang  | 2011-05-05 | 2011-05-06 |    0 |
| xiaohua  | 2011-05-05 | 2011-05-06 |    0 |
| dahuang  | 2011-05-05 | 2011-05-06 |    0 |
| Fluffy   | 1993-02-04 | 2011-05-06 |   18 |
| Claws    | 1994-03-17 | 2011-05-06 |   17 |
| Buffy    | 1989-05-13 | 2011-05-06 |   21 |
| Fang     | 1990-08-27 | 2011-05-06 |   20 |
| Bowser   | 1979-08-31 | 2011-05-06 |   31 |
| Chirpy   | 1998-09-11 | 2011-05-06 |   12 |
| Whistler | 1997-12-09 | 2011-05-06 |   13 |
| Slim     | 1996-04-29 | 2011-05-06 |   15 |
| Puffball | 1999-03-30 | 2011-05-06 |   12 |
+----------+------------+------------+------+

假如你要只显示前几条记录的话,就不能和MSSQL中那样去操作了(select  top  5 * from Table)
应该是:
mysql> select * from Table limit 5;

OK,,今天 就到这儿吧,打字打处我手都累了,希望以后有好东西(知识)的朋友,多多指教。
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
马甸北大青鸟网络班峰哥


上一篇:高手是怎样炼成的:精妙SQL语句介绍  
下一篇:北大青鸟华腾教育 教你解决mysql的乱码问题
相关信息:


Copyright © 2002-2015 版权所有
学校地址:北京市海淀区西三旗建材城中路29号北大青鸟
招生热线:010-82011433/32 京公网安备110102004704  京ICP备05043413号 京公网安备110102004704