SQL基础入门

SQL基础入门

数据库基础

什么是数据库

数据库(database):保存有组织的数据的容器,可以简单地理解为存储数据的仓库。

数据模型 数据库按照数据结构来组织、存储和管理数据,数据库一共有三种模型:

  • 层次模型:以“上下级”层次来组织数据,类似一棵树;

层次模型

  • 网状模型:把每个数据节点都和其他很多数据节点连接起来,类似一张网;

网状模型

  • 关系模型:把数据表当作一个二维表格,任何数据都可通过行号+列号唯一确定,类似于excel工作表。

关系模型

关系模型占据了绝对的市场份额,而我们经常使用的MySQL也是数据关系型数据库。

什么是表

(table):是一种结构化的文件,可用来存储某种特定类型数据,对于MySQL数据库中的表,可以简单地类比为Excel工作表。

表的结构

一张数据表包含了表名、列、列名以及行

  • (column):表中的一个字段,所有表都是由一个或多个列组成的。
  • (row):表中的数据是按行存储的,每一行也称为一个记录(record)。

学生表

主键

主键(primary key):在关系表中,任意两行数据不能重复,也就是必须拥有可以唯一标识自己的一列,这一列就称为主键。

其实主键的概念,在我们的日常生活中也经常用到,比如每个人都会有的身份证号码,就可以认为是一个主键;以及在读书时拥有的学号,也是一种主键。

数据类型

数据类型(datatype):每个表列都有相应的数据类型,它限制(或容许)该列中存储的数据。

对于每一个关系表,都需要定义列名和每一列的数据类型,关系型数据库支持的常用数据类型:

常用数据类型

SQL

什么是SQL

SQL是结构化查询语言(Structured Query Language)的缩写,是一种专门用来与数据库通信的语言。

SQL定义了几种操作数据库的能力:

  • DDL(Data Definition Language):允许用户定义表、删除表、修改表结构这些操作,通常由数据库管理员执行;
  • DML(Data Manipulation Language):允许用户添加、删除、更新数据,应用程序对数据库的日常操作;
  • DQL(Data Query Language):允许用户查询数据,最频繁的数据库操作。

SQL语法特点

  • SQL语句以英文分号(;)结尾;
  • SQL语句不区分关键字的大小写;
  • 输入符号的时候只能使用英文符号。

MySQL

MySQL简介

什么是MySQL

数据的存储、检索、管理和处理实际上是由数据库软件——DBMS(数据库管理系统)完成的。MySQL是一种DBMS,即他是一种数据库软件。

安装MySQL

首先应该安装MySQL数据库,安装过程参考: mysql数据库安装教程

安装MySQL之后通常会安装图形化管理工具,如果没有图形化管理工具的话就要通过命令行查看数据库,非常不方便。 两种常用的图形化管理工具:

  • phpMyAdmin(如果安装了xampp就已经有了,网页形式,免费)
  • Navicat(客户端形式,收费)

管理MySQL

数据库操作

连接数据库

下面用Navicat演示一下在图形化界面的情况下,如何第一次连接上数据库。 Step1 新建连接

Step2 填写连接数据

  • 连接名:这个连接的名称,随便写一个;
  • 主机:IP地址,本机是localhost;
  • 端口:数据库端口号,默认3306;
  • 用户名:数据库登录用户名;
  • 密码:数据库登录密码,无密码则空着。

Step3 测试连接 如果看到弹出“连接成功”,则说明已经成功连接上MySQL数据库,接下来就可以对数据库进行操作了。

Step4 打开连接

成功打开连接之后就能看到系统自带的一些数据库。

采用命令行连接数据库

mysql -u root -p

连接数据库

注:如果没有密码,则在输入以上命令之后直接Enter键即可。

退出数据库

EXIT;

退出数据库

查询数据库

-- 列出所有数据库
SHOW DATABASES;

显示所有数据库

注意:information_schema、mysql、performance_schema和phpmyadmin为系统库,不要随意改动。

新建数据库

图形界面操作

新建数据库

注意字符集要选择utf8,这样才能在同时显示中英文字符,不会出现乱码。

填写数据库相关内容

SQL语句操作

CREATE DATABASE test1;

删除数据库

DROP DATABASE test1;

注意:为避免出现问题,一般不要轻易删除数据库。

表操作

在针对某一个数据库里面的表进行操作时,要切换至当前数据库

USE practice;

切换到practice数据库

新建表

  1. 新建表,添加字段(列)
  1. 添加完所有字段之后,保存

然后关闭该窗口,就能在数据库里面看到这张新建的表。

列出表

-- 列出当前数据库的所有表
SHOW TABLES;

列出所有表

查看表

-- 查看一个表的结构
DESC students;

查看一个表的结构

-- 查看创建该表的SQL语句
SHOW CREATE TABLE students;

查看创建该表的SQL

删除表

-- 删除test表
DROP TABLE test;

修改表

修改表的图形界面操作

  1. 右键单击想要进行修改的表,选中“设计表”
  1. 填写需要修改的内容,保存

新增列

-- 给students表新增一列birth
ALTER TABLE students ADD COLUMN birth VARCHAR(10) NOT NULL;

新增一列

修改列

-- 修改birth列,把列名改为birthday,数据类型改为VARCHAR(20)
ALTER TABLE students CHANGE COLUMN birth birthday VARCHAR(20) NOT NULL;

修改列

-- 删除birthday列
ALTER TABLE students DROP COLUMN birthday;

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • GPS数据Python解析及地图可视化

    本篇文章主要介绍如何使用pynmea2库解析传感器的GPS信号,以及如何使用folium库绘制GPS轨迹图。

    数据医生
  • SQL基础查询

    对含有NULL数据的列使用DISTINCT关键字 NULL也被视为一类数据,如果存在多行NULL时,将被合并成一行。

    数据医生
  • SELECT from nobel | SQLZOO刷题

    Change the query shown so that it displays Nobel prizes for 1950.

    数据医生
  • 人大代表建议:扩大国产数据库金融领域试点

    “站在国家利益的高度,使用国外数据库,尤其是美国企业的数据库,无疑将给我国带来巨大的信息安全风险,这就迫切需要从国家层面推动相关行业变革。”5月24日,全国人大...

    用户6543014
  • Oracle 客户端、服务器、数据库、数据库对象(表、视图等)的关系

    1、数据库服务器 所谓数据库服务器,只是在机器上安装了一个数据库管理软件,这个软件可以管理多个数据库.一般开发人员会针对每一个应用创建一个数据库 2、单实例数据...

    郑小超.
  • 五月份在线数据库发表汇总(截止05.21)

    由于每个月都会有相关的数据库文章发表,所以我们打算在每个月都会先出一个汇总贴来介绍一下这个月都发表了哪些在线的数据库。之后也会挑选我们自己感兴趣的一些数据库来详...

    医学数据库百科
  • 关于数据库,程序员应该了解的那些事

    对于很多程序员来说,公司选择什么样的数据库,基本不需要你来决定。当你加入一个公司的时候,公司的大部分技术选型已经确认,特别是数据库选型,因为数据库一旦选择,后期...

    数据社
  • 数据库简述

    MySQL中的数据用各种不同的技术存储在文件(或者内存)中。这些技术中的每一种技术都使用不同的存储机制、索引技巧、锁定水平并且最终提供广泛的不同的功能和...

    木瓜煲鸡脚
  • 2019年6月数据库流行度排行榜出炉

    DB-Engines 的 2019年6月号数据库流行度排行榜出炉,用八个字概括就是:风气云涌与波澜不惊。

    数据和云01
  • 数据库防火墙

    中安威士数据库防火墙(简称VS-FW),是由中安威士(北京)科技有限公司开发具有完全自主知识产权的安全防护产品。该产品通过实时分析用户对数据库的访问行为,自动建...

    数据库保护

扫码关注云+社区

领取腾讯云代金券