SQL基础入门
数据库(database):保存有组织的数据的容器,可以简单地理解为存储数据的仓库。
数据模型 数据库按照数据结构来组织、存储和管理数据,数据库一共有三种模型:
层次模型
网状模型
关系模型
关系模型占据了绝对的市场份额,而我们经常使用的MySQL也是数据关系型数据库。
表(table):是一种结构化的文件,可用来存储某种特定类型数据,对于MySQL数据库中的表,可以简单地类比为Excel工作表。
一张数据表包含了表名、列、列名以及行。
学生表
主键(primary key):在关系表中,任意两行数据不能重复,也就是必须拥有可以唯一标识自己的一列,这一列就称为主键。
其实主键的概念,在我们的日常生活中也经常用到,比如每个人都会有的身份证号码,就可以认为是一个主键;以及在读书时拥有的学号,也是一种主键。
数据类型(datatype):每个表列都有相应的数据类型,它限制(或容许)该列中存储的数据。
对于每一个关系表,都需要定义列名和每一列的数据类型,关系型数据库支持的常用数据类型:
常用数据类型
SQL是结构化查询语言(Structured Query Language)的缩写,是一种专门用来与数据库通信的语言。
SQL定义了几种操作数据库的能力:
数据的存储、检索、管理和处理实际上是由数据库软件——DBMS(数据库管理系统)完成的。MySQL是一种DBMS,即他是一种数据库软件。
首先应该安装MySQL数据库,安装过程参考: mysql数据库安装教程
安装MySQL之后通常会安装图形化管理工具,如果没有图形化管理工具的话就要通过命令行查看数据库,非常不方便。 两种常用的图形化管理工具:
下面用Navicat演示一下在图形化界面的情况下,如何第一次连接上数据库。 Step1 新建连接
Step2 填写连接数据
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;