首页 > 数据库 >SQL基础知识及建表语句

SQL基础知识及建表语句

时间:2022-10-14 15:33:13浏览次数:48  
标签:02 03 01 建表 数据库 基础知识 SQL VARCHAR 数据

SQL基础知识及建表语句_数据库

什么是数据库?简单来说,数据库是容纳数据的一个"容器",正如文件柜用来存放资料,冰箱用来储存食物,手机相册用来保存照片,数据库的产生极大方便存储数据,数据库不仅可以存储数据,还能清洗数据。

在日常数据分析中,大多数情况都是需要数据查询,有时候也需要数据表的创建,对于数据表内容增、删、改,学习数据表的创建也是学习SQL的第一步,本文分别创建了学生表、教师表、科目表、成绩表,借此来介绍数据库在数据分析中的应用,下面一起来学习。



本文使用工具:MySQL8.0、Navicat Premium 12

本文讲解内容:数据库和数据表的创建

适用范围:数据表创建、新增和数据删改



SQL基础知识及建表语句_数据_02

数据库基本概念

数据库是以某种有组织的方式存储的数据集合,数据库是保存有组织的数据的容器,数据库管理系统(DBMS)是一种数据库软件,MySQL是一种DBMS数据库软件。

SQL基础知识及建表语句_数据库_03

下面介绍数据库的一些基本概念,例如“”、“模式”、“”、“”、“主键”等的一些概念。

(table) 某种特定类型数据的结构化清单,是一种结构化的文件,可用来存储某种特定类型的数据。

模式(schema) 关于数据库和表的布局及特性的信息。

(column) 表中的一个字段。所有表都是由一个或多个列组成的。

(row) 表中的一个记录。

SQL基础知识及建表语句_主键_04

主键(primary key)一列或一组列,其值能够唯一标识表中每一行,表中的任何列都可以作为主键,只要任意两行都不具有相同的主键值即可。

  • 每一行都必须具有一个主键值(主键列不允许NULL 值);
  • 主键列中的值不允许修改或更新;
  • 主键值不能重复使用。

SQL基础知识及建表语句_主键_05

结构化查询语言

SQL是结构化查询语言(Structured Query Language)的缩写,SQL是一种专门用来与数据库通信的语言,该语言不是某个特定数据库供应商专有的语言。几乎所有重要的DBMS都支持SQL,所以,学习此语言使你几乎能与所有数据库打交道。

SQL语言简单易学,它的语句都是由描述性很强的英语单词组成,且这些单词的数目不多,作为一种强有力的语言,灵活使用SQL语句,可以进行非常复杂和高级的数据库操作。

MySQL的优点


  • 学习成本低,MySQL是开放源代码的,一般可以免费使用;
  • 代码运行性能快,MySQL执行很快;
  • 信赖度高,某些非常重要和声望很高的公司、站点使用MySQL,这些公司和站点都用MySQL来处理自己的重要数据;
  • 简单易用,MySQL很容易安装和使用。


SQL数据类型

数据类型所容许的数据的类型。每个表列都有相应的数据类型,它限制该列中存储的数据,常见的数据类型有字符串、数值、日期和时间、二进制数据类型。

SQL基础知识及建表语句_数据库_06

创建数据库

首先介绍几个常用的建立数据库的命令。



#显示数据库SHOW DATABASES;

可以显示当前库中共有几个数据库。



#新建库CREATE DATABASE data CHARSET= utf8;

创建一个名为data的数据库,编码方式为utf8格式。


#选定数据库USE data;

选定使用的是哪个数据库。


#显示数据表SHOW TABLES FROM data;

显示选定的数据库中都有哪些表。

创建表

创建一个学生表,其中,学号、学生姓名、学生性别设置为字符串类型,学生出生日期设置为日期时间类型。


# 学生表 Student:CREATE TABLESId VARCHAR ( 10Sname VARCHAR ( 10Sage datetime,Ssex VARCHAR ( 10);

创建一个教师表,教师号、教师名都设置为字符串类型。



# 教师表 TeacherCREATE TABLETId VARCHAR ( 10Tname VARCHAR ( 10);

创建一个科目表,课程号、课程名、教师号都设置为字符串类型。



# 科目表 CourseCREATETABLE Course (CId VARCHAR ( 10 ),Cname VARCHAR ( 10 ), TId VARCHAR ( 10 ));

创建一个成绩表,其中学号和课程号数据格式设置为字符串类型,成绩设置为浮点类型。



# 成绩表 ScoreCREATE TABLESId VARCHAR ( 10CId VARCHAR ( 10score DECIMAL ( 18, 1);

创建好的数据表如下所示,此时创建的表仅仅是一个空表,还需要向空表插入数据。

SQL基础知识及建表语句_数据_07

插入表数据

依次插入学生表中的数据,数据插入后的结果如下所示:


# 学生表StudentINSERT INTOStudent(SId,Sname,Sage,Ssex)VALUES( '01', '赵雷','1990-01-01', '男'( '02', '钱电','1990-12-21', '男'( '03', '孙风','1990-05-20', '男'( '04', '李云','1990-08-06', '男'( '05', '周梅','1991-12-01', '女'( '06', '吴兰','1992-03-01', '女'( '07', '郑竹','1989-07-01', '女'( '08', '张诚','1990-10-11', '男'( '09', '张三','2017-12-20', '女'( '10', '李四','2017-12-25', '女'( '11', '李墨','2017-12-30', '女'( '12', '赵六','2017-01-01', '女'( '13', '孙策','2018-01-01', '女'

SQL基础知识及建表语句_主键_08

依次插入教师表中的数据,数据插入后的结果如下所示:


# 教师表 Teacherinsert intoTeacher(TId,Tname)values('01' , '张墨'),('02' , '李想'),('03' , '王凯');

SQL基础知识及建表语句_数据库_09

依次插入科目表中的数据,数据插入后的结果如下所示:



# 科目表 Courseinsert intoCourse(CId,Cname,TId)values('01' , '语文' ,'02'),('02' , '数学' ,'01'),('03' , '英语' , '03');

SQL基础知识及建表语句_主键_10

依次插入成绩表中的数据,数据插入后的结果如下所示:


# 成绩表 Scoreinsert intoScore(SId,CId,score)values('01' , '01' , 80),('01' , '02' , 90),('01' , '03' , 99),('02' , '01' , null),('02' , '02' , 60),('02' , '03' , 80),('03' , '01' , 80),('03' , '02' , null),('03' , '03' , 80),('04' , '01' , 50),('04' , '02' , 30),('04' , '03' , null),('05' , '01' , 76),('05' , '02' , 87),('06' , '01' , 31),('06' , '03' , null),('07' , '02' , 89),('07' , '03' , 98);

SQL基础知识及建表语句_主键_11

删除表



#删除表drop table

删除表全部数据和表结构,以后必须新建才能插入数据。


#只删除数据,表结构不变delete from

删除表全部数据,但是表的结构不变,可以插入数据。



#删除满足条件的数据delete fromwhere cname="语文";

带条件的删除,表结构不变,可以插入数据。



标签:02,03,01,建表,数据库,基础知识,SQL,VARCHAR,数据
From: https://blog.51cto.com/u_15828536/5757040

相关文章

  • MySQL索引(上)
    MySQL索引(上)该文摘抄自林晓斌老师的文章索引是一种数据结构,索引的出现其实就是为了提高数据查询的效率,就像书的目录一样。一本500页的书,如果你想快速找到其中的某一个知......
  • 1.0 Mysql索引的数据结构与算法
    索引是高效获取排序好的数据结构索引本身就是数据一部分关键信息,通过索引大大减少索引的数据量。索引信息需要额外的空间存储。创建和维护索引本身也会降低对数据的操作......
  • SQLSERVER如何正确修改主机名和IP地址
    一、 服务器改ip1.改hosts文件C:\Windows\System32\Drivers\etc\hosts修改对应ip2.注意是否为原ip指定了端口监听若未使用可不用修改start>MicrosoftSQLServe......
  • SQL软件安装
    软件介绍关系型数据库是目前最受欢迎的数据库管理系统,技术比较成熟,常见的关系型数据库有mysql、SQLServer、Oracle、Sybase、DB2等。SQLServer是Microsoft公司推出的关......
  • SQL笔记
    日期转换函数参考:https://blog.csdn.net/qq_45515347/article/details/126457842参考:https://www.w3school.com.cn/sql/sql_create_table.asp......
  • python操作mysql
    安装第三方库pipinstallpymysql连接数据库案例1案例2插入数据时,需要commit提交方式2应用实例代码实现......
  • 设置MySQL 创建数据库,默认为UTF-8
    Windows安装MySQL5.7x64位MySQL8.0及以上默认为utf8,所以不需要设置mysql>showvariableslike'character_%'mysql>showvariableslike'collation_%'修改......
  • PostgreSQL的流复制搭建
    单机版流复制测试环境搭建搭建规划主库备库数据目录/pgdata/12/data/pgdata/1202/data归档目录/pgdata/12/arch/pgdata/1202/arch端口54325433创建流复制用户createrolere......
  • SQL中进行转列的几种方式
    SQL中进行专列​​SQL中进行转列​​​​以下是这次sql转换的表结构以及数据​​​​数据准备​​​​1、学生表​​​​2、课程表​​​​3、成绩表​​​​4、基本数据​......
  • aidlux 安装 mysql 并设置密码及远程访问
    本文链接:aidlux安装mysql并设置密码及远程访问-Tiac-博客园(cnblogs.com) 一、安装mysql直接在应用中心里搜索安装mysql即可 二、启动mysql终端输入......