常用sql操作语句实战演示

本文为原创博客,未经本人允许,禁止将本人的博客复制下来上传到百度文库等平台。

作者:合肥工业大学 管理学院 钱洋 [email protected]

目录

  • linux中或cmd中连接数据库
  • 查看库名
  • 使用某一数据库并查看数据表
  • 查看表信息
  • 创建表格
  • 表格增加一列
  • 表格删除一列
  • 删除表格Drop
  • 数据插入Insert
  • 查看数据表数据Select
  • where语句的使用
  • 一个数据库选择的数据导入到另一个数据库中某表
  • 更新数据Update
  • 数据分组group by
  • 结果集排序ORDER BY
  • 连接数据concat或concat_ws

linux中或cmd中连接数据库

在Windows环境中的cmd或者Linux环境中,连接数据库使用如下命令:
其中,命令中的root表示用户,根据自己安装mysql设置的用户名而定。

mysql -uroot -p

输入此命令之后,会弹出让你输入密码,接着输入你的密码即可。

以下是windows中cmd中连接的数据库。
常用sql操作语句实战演示_第1张图片

Linux连接报错
ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’ (2)
这里写图片描述

错误的原因是my.cnf配置文件中的socket目录配置不正确。
解决方案:去看我写的另外一篇博客。http://blog.csdn.net/qy20115549/article/details/51783498

查看库名

show databases;

常用sql操作语句实战演示_第2张图片

使用某一数据库并查看数据表

use test;
show tables;

常用sql操作语句实战演示_第3张图片

查看表信息

describe 表名;

常用sql操作语句实战演示_第4张图片

创建表格

以下是我创建的一个表格,仅供大家参考。

CREATE TABLE IF NOT EXISTS  `forum_user` (
  `user_id` varchar(50) NOT NULL DEFAULT '' COMMENT '发帖作者ID,命名规则论坛编号+作者id',
  `user_age` varchar(255) DEFAULT NULL COMMENT '用户的年龄或出生日期',
  `user_gender` char(4) DEFAULT NULL COMMENT '用户的性别',
  `user_area` varchar(20) DEFAULT NULL,
  `user_forum` int(4) DEFAULT NULL COMMENT '用户来自的论坛',
  `craw_time` datetime DEFAULT NULL COMMENT '爬取时间',
  `report_time` datetime DEFAULT NULL COMMENT '最后更新时间',
  PRIMARY KEY (`user_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

常用sql操作语句实战演示_第5张图片

表格增加一列

为表forum_user增加addr_id这样一列。

alter table forum_user add column addr_id varchar(20) not null;

常用sql操作语句实战演示_第6张图片

表格删除一列

删除forum_user中的report_time一列。

alter table forum_user drop report_time ;

常用sql操作语句实战演示_第7张图片

删除表格Drop

删除forum_user表格。

DROP TABLE  forum_user;
#或者
DROP TABLE IF EXISTS forum_user;

常用sql操作语句实战演示_第8张图片

数据插入Insert

首先,创建一个简单的表,以供我演示。

CREATE TABLE IF NOT EXISTS  `forum_user` (
  `user_id` varchar(50) NOT NULL DEFAULT '' COMMENT '发帖作者ID,命名规则论坛编号+作者id',
  `user_age` varchar(255) DEFAULT NULL COMMENT '用户的年龄或出生日期',
  PRIMARY KEY (`user_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

常用sql操作语句实战演示_第9张图片

INSERT INTO forum_user VALUES (1, 2);
#或者
INSERT INTO forum_user(user_id, user_age) VALUES (2, 3);

常用sql操作语句实战演示_第10张图片

查看数据表数据Select

select * from forum_user;

常用sql操作语句实战演示_第11张图片

为介绍一些其他稍微复杂一些的sql语句,我将在navicat中演示。navicat是一款非常好用的mysql数据可视化操作工作。当然,你也可能会使用mysql workbench这一款工具。

where语句的使用

如需有条件地从表中选取数据,可将 WHERE 子句添加到 SELECT 语句。

下表为我要操作的表的结构。

常用sql操作语句实战演示_第12张图片

如下面的sql语句所示的是,我要操作的表是auto_forum_address_stand。子条件是选择江淮品牌,并且forum_auto_id是以autohome开头。sql中,like语句是用来做模糊查询。

SELECT * FROM auto_forum_address_stand where  stand_auto_brand="江淮" and forum_auto_id like "autohome%"; 

操作结果,如下图所示。
常用sql操作语句实战演示_第13张图片

一个数据库选择的数据导入到另一个数据库中某表

将brandmanage_db库中的auto_forum_address_stand相关数据,导入到qirui_jianghuai2016data库中的新建表jianghuai中。

create table qirui_jianghuai2016data.jianghuai SELECT * FROM brandmanage_db.auto_forum_address_stand where  stand_auto_brand="江淮" and forum_auto_id like "autohome%"; 

操作后,我们会发现,在数据库qirui_jianghuai2016data中新建了一张jianghuai的表,并且数据如下。

常用sql操作语句实战演示_第14张图片

更新数据Update

更加上一张图,现在来使用Update来更新数据。如上图,我要将字段forum_auto_id中的”autohome”字符串给去掉。如下,为我的sql语句。

update jianghuai set forum_auto_id = replace(forum_auto_id,'autohome','');

执行结果如下图所示:
常用sql操作语句实战演示_第15张图片

数据分组group by

常用sql操作语句实战演示_第16张图片

如上图数据,我现在想按照user_age字段,对其进行分组。

select count(*),user_age from forum_user group by user_age;

常用sql操作语句实战演示_第17张图片

结果集排序ORDER BY

常用sql操作语句实战演示_第18张图片
假设需要对forum_user表按照user_age进行排序。其sql语句为:
以下是降序排序,由于user_age是字符串类型,所以11这个数字显示在最后。

select * from forum_user order by user_age DESC;

常用sql操作语句实战演示_第19张图片

以下是升序排序

select * from forum_user order by user_age ASC;

常用sql操作语句实战演示_第20张图片

连接数据concat或concat_ws

常用sql操作语句实战演示_第21张图片

如图将此表的stand_auto_brand与stand_auto_name进行连接,中间用’_’连接。

select forum_auto_id,concat(stand_auto_brand,'_',stand_auto_name) AS carname from jianghuai ;

常用sql操作语句实战演示_第22张图片

你可能感兴趣的:(数据库)