设为首页 收藏本站
查看: 661|回复: 0

[经验分享] mysql基本操作

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-10-8 08:08:10 | 显示全部楼层 |阅读模式
mysql基本操作

显示当前存在的数据库:
show databases;
database
information_schema
mysql
performance_schema

创建数据库
create database user;
注意:在Unix下,数据库名称是区分大小写的(不像SQL关键字),因此你必须总是以test访问数据库,而不能用Test、TEST或其它一些变量。对表名也是这样的。(在Windows下,该限制不适用,尽管你必须在一个给定的查询中使用同样的大小写来引用数据库和表。但是,由于多种原因,作为最好的惯例,一定要使用与数据库创建时的同样的大小写。)

指定当前使用的数据库
use ouyangjun;

查询当前使用的数据库
select database();

创建表
create table pet(
        name varchar(20),
        owner varchar(20),
        species varchar(20),
        sex char(1),
        birth DATE,
        death DATE
)

查看该数据库的表
show tables;

查看某一张表的结构
desc pet;

查看详细的创建表的sql语句
show create table pet;

将数据加载到表中
(1)通过load data
load data local infile '/home/shiyanlou/data.txt' into table pet;
(2)通过insert
insert into pet value('peffball','Diane','hamster','f','1999-03-30',NULL);

从表中检索所有记录的最简单方式是使用SELECT语句:
mysql> SELECT * FROM pet;
有可能你想到Bowser的生日看起来不太对。经过查询,你发现正确的出生年份是1989,而不是1979。
那么现在至少有两种修正方法:
编辑文件“pet.txt”改正错误,然后使用DELETE和LOAD DATA清空并重新加载表:
mysql> DELETE FROM pet;
mysql> LOAD DATA LOCAL INFILE 'pet.txt' INTO TABLE pet;
然而, 在这样操作之前,需要重新输入Puffball记录。

用一个UPDATE语句就可以修正错误记录:
mysql> UPDATE pet SET birth = '1989-08-31' WHERE name = 'Bowser';
UPDATE只更改有问题的记录,并且不需要重新加载数据库表。

选择特殊行
一般情况下你不想检索整个表的内容,特别地当表变得很大时。相反,你通常对解决一个具体的问题更感兴趣,在这种情况下在你需要添加一些限制条件:
可以从表中只选择特定的行。
例如,如果你想要验证你对Bowser的生日所做的更改是否正确或者生效,按下述方法选择Bowser的记录:
mysql> SELECT * FROM pet WHERE name = 'Bowser';

输出证实正确的年份记录为1989,而不是1979。
字符串比较时通常对大小写不敏感,因此你可以将名字指定为"bowser"、"BOWSER"等,查询结果相同。
你可以在任何列上指定条件,不只仅仅是name。例如,如果你想要知道哪个动物在1998以后出生的,尝试筛选birth列:
mysql> SELECT * FROM pet WHERE birth > '1998-1-1';

还可以使用AND语句组合筛选条件,例如,找出雌性的狗:
mysql> SELECT * FROM pet WHERE species = 'dog' AND sex = 'f';

有AND逻辑操作符,那么就有一个OR操作符:
mysql> SELECT * FROM pet WHERE species = 'snake' OR species = 'bird';

AND和OR可以混用,但AND比OR具有更高的优先级。如果你使用两个操作符,最好是使用圆括号指明如何按条件分组:
mysql> SELECT * FROM pet WHERE (species = 'cat' AND sex = 'm')
    -> OR (species = 'dog' AND sex = 'f');

选择特殊列

如果你不想看到表中的所有行,就需要指明你感兴趣的列名称,并用逗号将列名分开。
例如,如果你想要知道你的动物什么时候出生的,选择name和birth列:
mysql> SELECT name, birth FROM pet;

找出拥有宠物的所有人,可以使用以下个查询:
mysql> SELECT owner FROM pet;

请注意该查询只是简单地检索每个记录的owner列,但是他们有些名字出现多次。为了使输出减到最少(避免重复),增加关键字DISTINCT检索出每条唯一的输出记录:
mysql> SELECT DISTINCT owner FROM pet;

可以使用一个WHERE子句同时进行行选择与列选择。例如,要想查询狗和猫的出生日期,使用以下查询:
mysql> SELECT name, species, birth FROM pet
    -> WHERE species = 'dog' OR species = 'cat';

行分类
你可能已经注意到前面的例子中行并没有以特定的顺序显示。然而,当行按某种方式排序时,检查查询输出的时候通常变得相对简单一点。为了给结果排序,使用ORDER BY子句。 这里是对动物生日按日期排序:
mysql> SELECT name, birth FROM pet ORDER BY birth;

由于字符串类型的数据对大小写并不敏感。这意味着,对于大小写不同其他都一样的列,排序后的结果都不会更改。这种情况下,可以使用BINARY强制执行区分大小写的排序功能,

如:ORDER BY BINARY col_name。

默认排序是升序,也就是最小的值排在第一。要想以降序排序,在你正在排序的列名旁边增加DESC(降序 )关键字:
mysql> SELECT name, birth FROM pet ORDER BY birth DESC;

可以对多个列进行排序,并且可以按不同的方向对不同的列进行排序。例如,按升序对动物的种类进行排序,然后按降序根据生日对各动物种类进行排序(最年轻的动物在最前面),使用下列查询:

mysql> SELECT name, species, birth FROM pet
    -> ORDER BY species, birth DESC;
注意DESC关键字仅适用于在它前面的列名(birth);不影响pecies列的排序顺序。


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-124037-1-1.html 上篇帖子: Centos使用yum安装mysql 下篇帖子: MySQL数据库多种优化方案 mysql
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表