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数据库
新建表
-
新建表,添加字段(列)
-
添加完所有字段之后,保存
然后关闭该窗口,就能在数据库里面看到这张新建的表。
列出表
-- 列出当前数据库的所有表
SHOW TABLES;
列出所有表
查看表
-- 查看一个表的结构
DESC students;
查看一个表的结构
-- 查看创建该表的SQL语句
SHOW CREATE TABLE students;
查看创建该表的SQL
删除表
-- 删除test表
DROP TABLE test;
修改表
修改表的图形界面操作:
-
右键单击想要进行修改的表,选中“设计表”
-
填写需要修改的内容,保存
新增列:
-- 给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;