mysq基础操作

 

上学的时候学习数据库,也是用的mysql的可视化图形界面,非常的方便简介。

现在其实工作中不是很多用到数据库,但是数据库基础相关也是行业内必备的一项技能。

最近要重新学习一下数据库,所以顺便做一些笔记,方便以后查阅。

可视化图形界面对表的创建、设计、填入数据等是非常方便的,这里就不做记录,只简单的记录下DOS界面下对数据库的增删改查操作。

一、数据库操作

1.连接数据库

mysql -u root -p (用户名为root,输入密码,成功连接数据库)

2.创建数据库

create database 数据库名;(例如以下,创建一个名为tryagain的数据库;注意:分号十分重要呀!mysql的命令终止符为;

3.查看数据库

show databases;(查看当前创建的所有数据库)

4.选择数据库

use 数据库名;(例如以下,选择名为tryagain的数据库)

 

5.删除数据库

drop database 数据库名;

 

 二、数据表操作

1.创建数据表

首先看下设计表的可视化界面:

这样可以比较直观的得到创建一个数据表的必要条件:表名、字段名、字段类型;可选条件:是否为主键、是否递增、不能为空等

以学生表为例,语法:

create table table_name(column_name column_type); 

table_name:表名,column_name:字段名,column_type:字段类型

 

例如以下,创建一个名为 student的表,not null-->字段不能为空,AUTO_INCREMENT-->自动递增(一般 为主键),PRIMARY KEY-->设定为主键(可以设定多列为主键,用逗号分隔),charset-->设定编码

2.插入数据

insert into table_name(field1,field2,...fieldN)

          VALUES

          (value1,value2,...valueN)

 field-->字段名,value-->属性,一一对应

 

 3.查询数据

(1)读取数据表中的所有数据:select * from table_name;

 

(2)条件查询:select * from table_name where 条件;

(3)仅查询表中的一项或多项数值,当条件满足时:select field from table_name where 条件;

4.修改表数据

update table_name set field1=new_value1,field2=new_value2 where 条件;

5.删除表数据

delete from table_name where 条件;(注意!如果没有where条件,整个表的数据都会被删除!)

6.LIKE查询

select field1,field2 from table_name where field like xx;

可以使用LIKE代替等号,一般like通常与%一起使用,类似于一个元元符的搜索,可以结合and/or来指定一个或多个条件

 

 

7.UNION 操作符用于连接两个以上的 SELECT 语句的结果组合到一个结果集合中。多个 SELECT 语句会删除重复的数据。

UNION会删除检索到的重复数据,如果想不删除重复数据则使用UNION ALL

select field1 from table1

union

select field2 from table2

where 条件

order by field

现在有两张表:

student表

class_student表

以下使用UNION从student表和class_student表中查询出所有不同的s_id

 UNION ALL使用,不删除重复数据

 8.ORDER BY排序

(1)升序

select * form table_name order by field ASC(如果不强调默认是升序)

(2)降序

select * from table_name order by field DESC

9.GROUP BY 分组

首先创建一个数据表,如下图

使用GROUP BY按照姓名将数据表进行分组

select field1,field2 from table_name group by field

以下,按照用户名进行分组,并统计用户名在数据表中出现的次数

select field,count(*) from table_name order by field order by field;

WITH ROLLUP——>可以在分组统计的基础上再进行统计

以下,按照姓名进行分组,并统计每个人签到次数的总和

select field1,field2,sum(field) as 别名 from table_name group by field with rollup;

其中 NULL为所有人signin_count的总和

10.删除数据表

DROP TABLE table_name;

 

本来要写一一篇连表查询的笔记,但是在查找资料的过程中,发现一篇很优秀的博客,如果我再写可能也没有那么通俗易懂,所以把博客地址贴在下面,方便以后查阅

 PS:一个写的比较优秀的博客http://www.zsythink.net/

posted @ 2019-07-09 18:01  aronge  阅读(182)  评论(0编辑  收藏  举报