今天我来讲解一下数据库和可视化数据库管理系统的使用
数据库概述
数据库 | 存储数据的仓库,数据是有组织的存储 | DataBase (DB) |
数据库管理系统 | 操纵和管理数据库的大型软件 | DataBaseMangement System (DBMS) |
SQL | 操作关系型数据库的编程语言,定义了一套关系型数据库唯一标准 | Stucted Query Language (SQL) |
程序猿使用SQL操作数据库管理系统DBMS来管理数据库DB
SQL->数据库管理系统->数据库
一个数据库操作系统可以有多个数据库,一个数据库可以多个表
关系型数据库(RDBMS)
建立在关系模型基础上,有多张相互连接的二维表组成的数据库称为关系型数据库。
特点:
- 使用表存储数据,格式统一,便于维护
- 使用SQL语言操作,标准统一,使用方便
主流的关系型数据库管理系统(RDBMS):
Oracle、MySQL、Microsoft SQL sever
SQL
SQL通用语法
- SQL语句可以单行或多行书写,以分号结尾。
- SOL语句可以使用空格/缩进来增强语句的可读性。
- MySQL数据库的SQL语句不区分大小写,关键字建议使用大写。
- 注释: 单行注释: -- 注释内容 或 # 注释内容(MySQL特有) 多行注释: /*注释内容 */
SQL分类
分类 | 全称 | 说明 |
DDL | DataDefinition Language | 数据定义语言,用来定义数据库对象(数据库,表,字段) |
DML | DataManipulationLanguage | 数据操作语言,用来对数据库表中的数据进行增删改 |
DQL | Data Query Language | 数据查询语言,用来查询数据库中表的记录 |
DCL | Data Control Language | 数据控制语言,用来创建数据库用户、控制数据库的访问权限 |
DDL
数据库
查询数据库
查询所有数据库
SHOW DATABASES;
查询当前数据库
SELECT DATABASE();
注意:有括号!!!
创建数据库
CREATE DATABASE[IF NOT EXISTS]数据库名[DEFAULT CHARSET 字符集][COLLATE 排序规则];
字符集:utf8 三个字节 utf8mb4 四个字节,更推荐utf8mb4
删除数据库
DROP DATABASE [IF EXISTS] 数据库名;
使用数据库
USE 数据库名;
查询表
查询当前数据库所有表
SHOW TABLES;
注意要先使用USE 数据库,再查询表!
查询表结构
desc 表名;
查询指定表的建表语句
SHOW CREATE TABLE
创建表
CREATE TABLE 表名 (字段1 字段1类型 [ COMMENT 字段1注释] ,字段2 字段2类型 [ COMMENT 字段2注释] ,。。。。。。字段n 字段n类型 [ COMMENT 字段 n注释]) [COMMENT 表注释];
注意:最后一个字段没有逗号 ,
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.入职时间(取值年月日即可)
操作如下:
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'员工表';
修改表
添加字段:
ALTER TABLE 表名 ADD 字段名 类型(长度)[COMMENT 注释][约束];
ALTER TABLE emp ADD nickname VARCHAR(20)COMMENT '昵称';
修改字段:
修改数据类型:
ALTER TABLE 表名 MODIFY 字段名 新数据类型(长度);
修改字段名和字段类型:
ALTER TABLE 表名 CHANGE旧字段名 新字段名 类型(长度)[COMMENT 注释][约束];
ALTER TABLE emp CHANGE nickname username VARCHAR(30)COMMENT '用户名';
删除字段:
ALTER TABLE 表名 DROP 字段名;ALTER TABLE emp DROP username;
修改表名:
ALTER TABLE 表名 RENAME TO 新表名;ALTER TABLE emp RENAME TO employee;
删除表:
删除表:(内容结构都清空)
DROP TABLE [IF EXISTS]表名;DROP TABLE IF EXISTS yuangong;
删除指定表,并重新创建该表(相当于清空内容,结构没变)
TRUNCATE TABLE 表名;
DDL总结
DDL-数据库操作
SHOW DATABASES; 查询所有数据库CREATE DATABASES 数据库名; 创建数据库USE 数据库名; 使用数据库SELECT DATABASE(); 查询当前数据库DROP DATABASE 数据库名; 删除数据库
DDL-表操作
SHOW TABLES; 查看当前表CREATE TABLE 表名(字段 字段类型, 字段 字段类型); 创建表DESC 表名; 查看当前表的字段SHOW CREATE TABLE 表名; 查询表的建表语句ALTER TABLE 表名 ADD/MODIFY/CHANGE/DROP/RENAME TO ...; 修改表的结构DROP TABLE 表名; 删除表
少年没有乌托邦,心向远方自明朗!
如果这个博客对你有帮助,给博主一个免费的点赞就是最大的帮助❤
欢迎各位点赞,收藏和关注哦❤
如果有疑问或有不同见解,欢迎在评论区留言❤
后续会继续更新大连理工大学相关课程和有关数据库的内容和示例
点赞加关注,学习不迷路,好,本次的学习就到这里啦!!!
我们下次再见喽!