一文读懂之SQL数据库基础

SQL(Structured Query Language)
1、关系型数据库和非关系型数据库(NoSQL)数据库:
关系型数据库,指的是以关系的形式来存储和管理的数据库系统,特点是:
1)以表格的形式保存数据
2)数据和数据间存在唯一关系
3)表格和表格间存在依赖关系

2、常见的关系型数据库
1)Oracle,龙头,是一个重量级的数据库,是Oracle公司开发的,收费的。
2)Mysql,被Oracle收购,是一个中小型数据库,非常流行,免费的。
3)SQLServer,微软,重量级数据库
4)DB2,IBM,重量级数据库,一般银行项目使用很多。

3、SQL分类
1)DDL(Data Defination Language)
对数据库、表,进行CREATE(增),DROP(删)、ALTER(改)、SHOW(查)
2)DML(Data Manipulation Language)
对表中数据进行INSERT(增),DELETE(删)UPDATE(改)
3)DQL(Data Query Language)
对表中数据进行查询,SELECT,WHERE,FROM
4)DCL(Data Control Language)
对数据库权限进行操作,关键字GRANT(授权),REVOKE(撤销)等

4、命令行操作Mysql数据库
DDL

-- 登录
mysql -uroot -proot -hlocalhost -P3306
-- 查看数据库
show database
-- 创建数据库
create database [character set utf8]
-- 切换数据库
use 库名
-- 查看当前使用的是哪个数据库
select database()
-- 修改数据库
alter database 库名 character set utf8
-- 删除数据库
drop database 库名;
drop database 库名 if exists 库名;
-- 创建表格
create table 表名(
列名1 列类型1,
列明2 列类型2...
);
-- 查看表结构
desc 表名
-- 修改表名
alter table 原表名 rename to 新表名;
-- 修改字段类型
alter table 表名 modify 列名 类型;
-- 修改字段名
alter table 表名 change 原字段名 新字段名 类型
-- 增加字段
alter table 表名 add(字段名 类型,...);
-- 删除字段
alter table 表名 drop column 字段名;

DML

-- 增
insert into 表名 [(字段名1,字段名2...)]values(1,值2...);
-- 删
delete from 表名[where 条件]
truncate table 表名;截断表(清空表)
-- 改
update 表名 set 字段1=1,字段2=2...[where 条件]

DQL

select 
[from
	表名
where
 	过滤条件
 group by
  	分组查询
 having
 	分组后过滤
 order by
 	排序
 limit
 	分页];

5、mysql视图:
视图:是一张基于表格或其他视图生成的虚拟的表,通常被称为虚表。
视图中不存放任何数据,存放的是查询表格的语句。当操作视图时,相当于视图帮忙去操作表格。
作用:
1)限制用户对表格数据的访问,控制表格数据的局部访问。
2、可以实现同一张表格中数据的不同显示。
3、可以对复杂的查询简单化。
5、mysql数据类型
VHAR:需要指定长度,不可变字符串,性能好,但是占用的空间是固定的。
VARCHAR:需要指定长度,可变字符串,性能差,但是占用空间是可变的。
TEXT:不需要指定长度,用于存放大文本数据
INT:存整数,4个字节
TINYINT:1个字节,如果长度为1,通常用于表示Boolean,1→true,0→false
BIGINT,对应java中的Long类型
DATE,年月日,没有时分秒
DATETIME

发布了219 篇原创文章 · 获赞 352 · 访问量 21万+

猜你喜欢

转载自blog.csdn.net/qq_42859864/article/details/103644157