活动地址:CSDN21天学习挑战赛
作者简介:大家好我是狂暴于涛侠本侠
🦸个人主页:狂暴于涛侠
这一次给大家带来MySQL语言基础的讲解(博主也想是借助21天挑战看看自己能学多少,大家就当复习笔记看吧哈哈哈哈!!!)
编程语言(programming language)可以简单的理解为一种计算机和人都能识别的语言。
机器语言:计算机能够直接识别,不用转换
汇编语言:编程比机器语言简单的多,但要转换后计算机才能识别。学习起来也不是很难。
高级语言:编程简单(比汇编还要简单,灵活),但要转换后计算机才能识别。
而我们现在学的sql就是一种高级语言
SQL的概述
- SQL全称: Structured Query Language,是结构化查询语言,用于访问和处理数据库的标准的计算机语言。SQL语言1974年由Boyce和Chamberlin提出,并首先在IBM公司研制的关系数据库系统SystemR上实现。
- 美国国家标准局(ANSI)开始着手制定SQL标准,并在1986年10月公布了最早的SQL标准,扩展的标准版本是1989年发表的SQL-89,之后还有1992年制定的版本SQL-92和1999年ISO发布的版本SQL-99。
- SQL标准几经修改和完善,其功能更加强大,但目前很多数据库系统只支持SQL-99的部分特征,而大部分数据库系统都能支持1992年制定的SQL-92。
SQL的特点
- 具有综合统一性,不同数据库的支持的SQL稍有不同
- 非过程化语言
- 语言简捷,用户容易接受
- 以一种语法结构提供两种使用方式
SQL语言的组成
- 数据定义语言-DDL
- 数据操纵语言-DML
- 数据控制语言-DCL
- 数据查询语言-DQL
SQL语言的组成
- SQL 对关键字的大小写不敏感
- SQL语句可以以单行或者多行书写,以分行结束
- SQL的注释:
1、数据库
数据库(DB)是一个以某种组织方式存储在磁盘上的数据的集合。
2、数据库应用
数据库应用系统是指基于数据库的应用软件
比如:各种管理系统,淘宝
1、Oracle数据库 (老大,最挣钱的数据库)
2、MySQL数据库 (最流行中型数据库))
3、SQL server数据库 (Windows上最好的数据库)
4、PostgreSQL(功能最强大的开源数据库)
5、SQLite(最流行的嵌入式数据库)
1、Redis(最好的缓存数据库)
2、MongoDB(最好的文档型数据库)
3、Elasticsearch(最好的搜索服务)
4、Cassandra(最好的列式数据库)
5、HBase(优秀的分布式、列式数据库)
数据库管理系统(DBMS)用来创建和维护数据库。例如,SQL Server、Oracle、MySQL等等都是数据库管理系统。
数据库管理系统(DBMS)主要由数据库和表组成,一个系统可以有很多数据库,每个数据库可以有很多表。。
MySQL数据库管理系统由瑞典的DataKonsultAB公司研发,该公司被Sun公司收购,现在Sun公司又被Oracle公司收购,因此MySQL目前属于 Oracle 旗下产品。
MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,一般中小型网站的开发都选择 MySQL 作为网站数据库。
①MySQL数据库是用C和C++语言编写的,以保证源码的可移植性
②支持多个操作系统例如:Windows、Linux、Mac OS等等
③支持多线程,可以充分的利用CPU资源
④为多种编程语言提供API,包括C语言,Java,PHP。Python语言等
⑤MySQL优化了SQL算法,有效的提高了查询速度
⑥MySQL开放源代码且无版权制约,自主性强、使用成本低。
⑧MySQL历史悠久、社区及用户非常活跃,遇到问题,可以很快获取到帮助。
MySQL Community Server
社区版本,免费,但是Mysql不提供官方技术支持。
MySQL Enterprise Edition
商业版,该版本是收费版本,可以试用30天,官方提供技术支持
MySQL Cluster
集群版,开源免费,可将几个MySQL Server封装成一个Server。
MySQL Cluster CGE
高级集群版,需付费。
MySQL Workbench(GUI TOOL)
一款专为MySQL设计的ER/数据库建模工具。MySQL Workbench又分为两个版本,分别是社区版(MySQL Workbench OSS)、商用版(MySQL Workbench SE)。
DDL(Data Definition Language),数据定义语言,该语言部分包括以下内容:
对数据库的常用操作
| 功能 | SQL |
|---|---|
| 查看所有的数据库 | show databases; |
| 创建数据库 | create database [if not exists] mydb1 [charset=utf8] |
| 切换 (选择要操作的) 数据库 | use mydb1 |
| 删除数据库 | drop database [if exists] mydb1; |
| 修改数据库编码 | alter database mydb1 character set utf8; |
-- DDL操作之数据库操作 快捷键:ctrl加/键自动注释
#同样也是注释
-- 查看所有数据库 滑轮可以改变图形观察器显示字体大小字体大小
show databases;
-- 创建数据库 if not EXISTS的意思是如果没有创建 以下两个代码都是创建数据库MYsql1
create database MYsql1 ;
create database if not EXISTS MYsql1 ;
-- 选择使用哪一个数据库
use mysql1;
-- 删除数据库 if exists的意思是如果存在就删除
drop database mysql;
drop database if exists mysql;
-- 修改数据库编码 现在数据库默认编码都是utf8 其实修不修改作用不大
alter database mysql CHARACTER set utf8;
创建表格式
create table [if not exists]表名(
字段名1 类型[(宽度)] [约束条件] [comment ‘字段说明’],
字段名2 类型[(宽度)] [约束条件] [comment ‘字段说明’],
字段名3 类型[(宽度)] [约束条件] [comment ‘字段说明’]
)[表的一些设置];
-- 在mysql1中创建一个student表 if not exists加不加都行
-- unsigned代表无符号整形
use mysql1;
create table if not exists student(
id int unsigned,
name varchar(20),
sex varchar(2),
age int,
address varchar(20),
tel int
);

创建表是构建一张空表,指定这个表的名字,这个表有几列,每一列叫什么名字,以及每一列存储的数据类型。
数据类型
数据类型是指在创建表的时候为表中字段指定数据类型,只有数据符合类型要求才能存储起来,使用数据类型的原则是:够用就行,尽量使用取值范围小的,而不用大的,这样可以更多的节省存储空间。
数值类型

字符串类型

日期类型

| 功能 | SQL |
|---|---|
| 查看当前数据库的所有表名称 | show tables; |
| 查看指定某个表的创建语句 | show create table 表名; |
| 查看表结构 | desc 表名: |
| 删除表 | drop table 表名: |
-- 3.查看当前数据库的所有表
show tables;
-- 4.查看指定表的创建语句
show create table student;

-- 5.查看表的结构
desc student;

-- 6.删除表
drop table student;
-- 1.添加列alter table 表名 add 列名 类型(长度) [约束];
-- #为student表添加一个新的字段为:系别 dept 类型为 varchar(20)ALTER TABLE student ADD `hobby` VARCHAR(20);
alter table student add hobby varchar(20);

-- 2.修改列名和类型 alter table 表名 change 旧列名 新列名 类型(长度) 约束;
#为student表的hobby字段更换为interest varchar(30)
alter table student change hobby interest varchar(30);

-- 3.修改表删除列 alter table 表名 drop 列名;
#删除student表中interest这列
alter table student drop interest;

-- 4.修改表名 rename table 表名 to 新表名;
#将表student改名成 yutao
rename table student to yutao;
