数据库(DB、DBMS、SQL)

今天我来讲解一下数据库可视化数据库管理系统的使用

数据库概述

|---------|-------------------------------|---------------------------------|
| 数据库 | 存储数据的仓库,数据是有组织的存储 | DataBase (DB) |
| 数据库管理系统 | 操纵和管理数据库的大型软件 | DataBaseMangement System (DBMS) |
| SQL | 操作关系型数据库的编程语言,定义了一套关系型数据库唯一标准 | Stucted Query Language (SQL) |

程序猿使用SQL操作数据库管理系统DBMS来管理数据库DB

SQL->数据库管理系统->数据库

一个数据库操作系统可以有多个数据库,一个数据库可以多个表

关系型数据库(RDBMS)

建立在关系模型基础上,有多张相互连接的二维表组成的数据库称为关系型数据库。

特点:

  1. 使用表存储数据,格式统一,便于维护
  2. 使用SQL语言操作,标准统一,使用方便

主流的关系型数据库管理系统(RDBMS):

Oracle、MySQL、Microsoft SQL sever

SQL

SQL通用语法

  1. SQL语句可以单行或多行书写,以分号结尾。
  2. SOL语句可以使用空格/缩进来增强语句的可读性。
  3. MySQL数据库的SQL语句不区分大小写,关键字建议使用大写。
  4. 注释: 单行注释: -- 注释内容 或 # 注释内容(MySQL特有) 多行注释: /*注释内容 */

SQL分类

|-----|--------------------------|-----------------------------|
| 分类 | 全称 | 说明 |
| DDL | DataDefinition Language | 数据定义语言,用来定义数据库对象(数据库,表,字段) |
| DML | DataManipulationLanguage | 数据操作语言,用来对数据库表中的数据进行增删改 |
| DQL | Data Query Language | 数据查询语言,用来查询数据库中表的记录 |
| DCL | Data Control Language | 数据控制语言,用来创建数据库用户、控制数据库的访问权限 |

DDL

数据库

查询数据库

查询所有数据库

sql 复制代码
SHOW DATABASES;

查询当前数据库

sql 复制代码
SELECT DATABASE();  

注意:有括号!!!

创建数据库

sql 复制代码
CREATE DATABASE[IF NOT EXISTS]数据库名[DEFAULT CHARSET 字符集][COLLATE 排序规则];

字符集:utf8 三个字节 utf8mb4 四个字节,更推荐utf8mb4

删除数据库

sql 复制代码
DROP DATABASE [IF EXISTS] 数据库名;

使用数据库

sql 复制代码
USE 数据库名;

查询表

查询当前数据库所有表

sql 复制代码
SHOW TABLES;

注意要先使用USE 数据库,再查询表!

查询表结构

sql 复制代码
desc 表名;

查询指定表的建表语句

sql 复制代码
SHOW CREATE TABLE

创建

sql 复制代码
CREATE TABLE 表名 (

       字段1 字段1类型 [ COMMENT 字段1注释] ,

       字段2 字段2类型 [ COMMENT 字段2注释] ,

       。。。。。。

       字段n 字段n类型 [ COMMENT 字段 n注释]

) [COMMENT 表注释];

注意:最后一个字段没有逗号 ,

sql 复制代码
SELECT DATABASE();

USE haha01;

CREATE TABLE TEST(

bid INT COMMENT '编号',

bname  VARCHAR(50) COMMENT '名字',

age INT COMMENT '年龄',

gender VARCHAR(1) COMMENT '性别'

)COMMENT '用户表';

SHOW TABLES;

DESC test;

数值类型

精度:总位数 标度:小数位数

Age TINYINT UNSIGENED

Score double(4,1)

Decimal? 成绩用哪个?

字符串类型

BLOB: 二进制数据TEST;文本数据

Char(10) 超出10报错,都是10个字节,性能好

Varchar(10) 变长字符串,性能较差(需要计算字符长短)

用户名 username varchar(10) 长度不固定

性别 gender char(1)

日期类型

Birthday date

设计一张员工信息表,要求如下:

  1. 编号(纯数字)

2.员工工号(字符串类型,长度不超过10位)

3.员工姓名(字符串类型,长度不超过10位)

4.性别(男/女,存储一个汉字)

5.年龄(正常人年龄,不可能存储负数)

6.身份证号(二代身份证号均为18位,身份证中有X这样的字符)

7.入职时间(取值年月日即可)

操作如下:

sql 复制代码
CREATE TABLE emp(

       Id INT COMMENT'编号',

       Worknumber VARCHAR(10) COMMENT '工号',

       NAME VARCHAR(10) COMMENT '姓名',

       gender CHAR(1) COMMENT '性别',

       age TINYINT UNSIGNED COMMENT '年龄',

       idcard CHAR(18) COMMENT '身份证号',

       entrydate DATE COMMENT '入职时间'

) COMMENT'员工表';

修改表

添加字段:

sql 复制代码
ALTER TABLE 表名 ADD 字段名 类型(长度)[COMMENT 注释][约束];
sql 复制代码
ALTER TABLE emp ADD nickname VARCHAR(20)COMMENT '昵称';

修改字段:

修改数据类型:

sql 复制代码
ALTER TABLE 表名 MODIFY 字段名 新数据类型(长度);

修改字段名和字段类型:

sql 复制代码
ALTER TABLE 表名 CHANGE旧字段名 新字段名 类型(长度)[COMMENT 注释][约束];
sql 复制代码
ALTER TABLE emp CHANGE nickname username VARCHAR(30)COMMENT '用户名';

删除字段

sql 复制代码
ALTER TABLE 表名 DROP 字段名;

ALTER TABLE emp DROP username;

修改表名

sql 复制代码
ALTER TABLE 表名 RENAME TO 新表名;

ALTER TABLE emp RENAME TO employee;

删除表:

删除表:(内容结构都清空)

sql 复制代码
DROP TABLE [IF EXISTS]表名;

DROP TABLE IF EXISTS yuangong;

删除指定表,并重新创建该表(相当于清空内容,结构没变)

sql 复制代码
TRUNCATE TABLE 表名;

DDL总结

DDL-数据库操作

sql 复制代码
SHOW DATABASES;                          查询所有数据库

CREATE DATABASES 数据库名;                创建数据库

USE 数据库名;                             使用数据库

SELECT DATABASE();                       查询当前数据库
 
DROP DATABASE 数据库名;                   删除数据库

DDL-表操作

sql 复制代码
SHOW TABLES;                                              查看当前表

CREATE TABLE 表名(字段 字段类型, 字段 字段类型);            创建表

DESC 表名;                                                查看当前表的字段

SHOW CREATE TABLE 表名;                                   查询表的建表语句

ALTER TABLE 表名 ADD/MODIFY/CHANGE/DROP/RENAME TO ...;    修改表的结构

DROP TABLE 表名;                                          删除表

少年没有乌托邦,心向远方自明朗!

如果这个博客对你有帮助,给博主一个免费的点赞就是最大的帮助❤

欢迎各位点赞收藏关注 哦❤

如果有疑问或有不同见解,欢迎在评论区留言❤

后续会继续更新大连理工大学相关课程 和有关数据库 的内容和示例

点赞加关注,学习不迷路,好,本次的学习就到这里啦!!!

我们下次再见喽!

相关推荐
lzhlizihang33 分钟前
【Hive sql 面试题】求出各类型专利top 10申请人,以及对应的专利申请数(难)
大数据·hive·sql·面试题
BearHan41 分钟前
Sqlsugar调用Oracle的存储过程
oracle·存储过程·orm
superman超哥1 小时前
04 深入 Oracle 并发世界:MVCC、锁、闩锁、事务隔离与并发性能优化的探索
数据库·oracle·性能优化·dba
用户8007165452001 小时前
HTAP数据库国产化改造技术可行性方案分析
数据库
engchina2 小时前
Neo4j 和 Python 初学者指南:如何使用可选关系匹配优化 Cypher 查询
数据库·python·neo4j
engchina2 小时前
使用 Cypher 查询语言在 Neo4j 中查找最短路径
数据库·neo4j
尘浮生2 小时前
Java项目实战II基于Spring Boot的光影视频平台(开发文档+数据库+源码)
java·开发语言·数据库·spring boot·后端·maven·intellij-idea
威哥爱编程2 小时前
SQL Server 数据太多如何优化
数据库·sql·sqlserver
小华同学ai2 小时前
AJ-Report:一款开源且非常强大的数据可视化大屏和报表工具
数据库·信息可视化·开源
Acrelhuang2 小时前
安科瑞5G基站直流叠光监控系统-安科瑞黄安南
大数据·数据库·数据仓库·物联网