100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > SQL--数据库的操作(DDL DML DQL)+使用命令查看当前数据库的存储位置(数据库版本查询)

SQL--数据库的操作(DDL DML DQL)+使用命令查看当前数据库的存储位置(数据库版本查询)

时间:2019-06-07 16:18:19

相关推荐

SQL--数据库的操作(DDL DML DQL)+使用命令查看当前数据库的存储位置(数据库版本查询)

文章目录

SQL--数据库的操作DDL---操作数据库DDL---操作表DML-增删改查DQL-对表数据基础查询Navicat的安装使用(MySQL图形化界面)数据类型使用命令查看当前数据库的存储位置

SQL–数据库的操作

DDL—操作数据库

查询

SHOW DATABASES;

创建

创建数据库:

CREATE DATABASE 数据库名称;

创建数据库(判断,如果不存在就创建)

CREATE DATABASE IF NOT EXISTS 数据库名称;

删除

删除数据库

DROP DATABASE 数据库名称

删除数据库(判断,如果存在就删除)

DROP DATABASE IF EXISTS 数据库名称;

使用数据库

查看当前使用的数据库:

SELECT DATABASE();

使用数据库:

USE 数据库名称;

DDL—操作表

创建(Create)

创建表的语法:

CREATE TABLE 表名(字段名1 数据类型1,字段名2 数据类型2,...字段名n 数据类型n);

注意:在创建数据的时候最后一个是不能够在末尾添加逗号的!!!

查询(Retrieve)

查询表

查询当前数据库下所有的表名称

SHOW TABLES;

查询表结构信息(并非是表的数据):

DESC 表名称;

修改(Upd ate)

1.修改表名:

ALTER TABLE 表名 RENAME TO 新的表名;

2.添加一列

ALTER TABLE 表名 ADD 列名 数据类型;

3.修改数据类型

ALTER TABLE 表名 MODIFY 列名 新数据类型

4.修改列名和数据类型

ALTER TABLE 表名 CHANGE 列名 新列名 新数据类型;

5.删除列

ALTER TABLE 表名 DROP 列名;

删除(Delete)

1.删除表

DROP TABLE 表名;

2.删除表时判断表是否存在,再进行删除

DROP TABLE IF EXISTS 表名;

DML-增删改查

添加(insert)

1.给指定的列添加数据

INSERT INTO 表名1(列名1,列名2,...) VALUES(值1,值2,...);

2.给全部列添加数据

INSERT INTO 表名 VALUES(值1,值2,...);

3.批量添加数据

INSERT INTO 表名(列名1,列名2,...) VALUES(值1,值2,...),(值1,值2,...),(值1,值2,...) ...; INSERT INTO 表名 VALUES(值1,值2,...),(值1,值2,...),(值1,值2,...)...;#批量添加列是需要全部数据都添加,否则会出现值不匹配

4.查询表中的所有数据:

SELECT * FROM 表名;

修改(update)

修改表数据

UPDATE 表名 SET 列名1=值1,列名2=值2,...[WHERE 条件];#如果不添加条件,所有的数据都会被修改

删除(delete)

删除表数据

DELETE FROM 表名 [where 条件];#如果不添加条件,则会将所有的特定的数据删除

DQL-对表数据基础查询

基础查询

1.查询多个字段

SELECT 字段列表 FROM 表名;SELECT * FROM 表名;#查询所有数据

查询表中相关列的数据

2.去除重复记录

在表中可能出现一些重复的记录,所以我们需要将重复的去掉,比如查询同班同学的所在省份,相同的就可以去除

SELECT DISTINCT 字段列表 FROM 表名;

示例:

3.起别名

AS: AS 也可以省略

条件查询以及别名的设置:

如下图所示,假如图中有不知道的字段名,可以更改名字:

改名前:

改名后:

写法1:

写法2:

条件查询(WHERE)

1.条件查询语法:

SELECT 字段列表 FROM 表名 WHERE 条件列表;

2.条件

示例:在student表中查询相关的数据,如下图所示:

总:

分组查询(GROUP BY)

分组查询语法:

select 字段列表 from 表名 [where 分组前条件限定] group by 分组字段名 [having 分组后条件过滤];

注:分组之后,查询的字段为聚合函数和分组字段,查询其他字段无任何意义!

举例:

正如上图所示,女同学的平均分不一定都是深圳女孩,男同学也不一定都是北京男孩。

where和having的区别:

1.执行时机不一样:where是分组之前进行限定,不满足where条件,不能参与到分组,而having是分组之后对结果进行过滤。

2.可判断的条件不一样:where不能对聚合函数进行判断,而having可以。

执行顺序:where>聚合函数>having

聚合函数

1.聚合函数:将一列数据作为一个整体,进行纵向计算。

2.聚合函数分类:

3.聚合函数语法:

select 聚合函数名(列名) from 表;

注意:null值不参与所有聚合函数计算!!!

排序查询(ORDER BY)

排序查询语法:

select 字段列表 from 表名 order by 排序字段名1 [排序方式1],排序字段名2 [排序方式2]...;

排序方式:

1.ASC:升序排序(默认值)----从小到大排序

2.DESC:降序排列-----从大到小排序

在排序不指定时,默认就是ASC!!!

注意:如果有多个排序条件,当前方的条件值一样时,才会根据第二条进行排序,否则第二条语句不会被执行!

分页查询(LIMIT)

1.分页查询语法

select 字段列表 from 表名 limit 起始检索 , 查询条目数;

起始索引:从0开始

计算公式:起始索引=(当前页码-1)*每页显示的条数

tips(各个数据库中的分页不太一样,MySQL用的是limit,其他的如下所示):

1.分页查询limit是MySQL数据库的方言;

2.Oracle分页查询使用rownumber;

3.SQL server分页查询使用top。

Navicat的安装使用(MySQL图形化界面)

下载可在百度中搜索Navicat官网进行下载!!!

官网下载地址:Navicat官网

Navicat的使用:

点击查看

数据类型

MySQL支持多种类型,可以分为三类:

1.数值

2.日期

3.字符串

常用数据类型解析:

int举例:

age int;

char举例:

name char(10) 如果名字超过10位就会报错,比如说存入"李梅",这里存储了两个字符,后面的就会用空格来补齐。

varchar举例:

name varchar(10) 如果名字超过10位就会报错。 如果名字超过10位就会报错,比如说存入"李梅",这里会计算原始数据的长度,根据长度来进行存储。

所以char存储的性能会要高一些,varchar存储的性能较低。char存储的长度是固定的,如果字符长度不够,就会用空格来补齐,如果超出,就会报错;varchar的长度在存储前会对原始数据进行计算,根据长度来进行存储。

总结:

char性能较高于varchar;

char会造成空间的浪费,varchar节约空间。

double举例:

score double(总长度,小数点后保留2位小数),比如成绩位:0-100,后面小数不会变的是2,可以写为:score double(5,2);

date举例(年月日):

birthday date;

使用命令查看当前数据库的存储位置

一、当前使用的数据库位置查询

1.打开dos窗口(cmd);

2.登录MySQL,使用自己设置的密码登录后输入命令:

show variables like '%datadir%';

二、数据库的版本查询

mysql --version

或者

mysql -V

以上两种方式都可以进行查询!!!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。