MySQL基础语法

本文介绍了SQL的基本概念、特点和语法,包括其在不同数据库系统中的应用。详细讲解了数据库的类型,如关系型和非关系型数据库,特别提到了MySQL的特点和常用图形管理工具。还涵盖了数据类型的分类,如数值、字符串和日期类型,并概述了数据库的基本操作,如DDL(数据定义语言)对数据库和表的操作。
摘要由CSDN通过智能技术生成

目录

SQL

SQL的概述

SQL的特点

SQL语法特点

数据库系统简介

数据库概念

数据库应用

数据库管理系统(数据库软件)

关系型数据库

非关系型数据库

SQL和数据库管理系统的关系

关系型数据数据库管理系统组成

MySQL

MySQL介绍

MySQL特点

MySQL常用图形管理工具

图形化工具连接MySQL

数据类型  

数值类型 

字符串类型

日期类型

 MySQL数据库基本操作

DDL

对数据库的常用操作

 对表结构的常用操作

修改表结构 


SQL

SQL的概述

SQL全称Structured Query Language,是结构化查询语言,用于访问和处理数据库的标准的计算机语言

SQL的特点

  • 具有综合统一性,不同数据库的支持的SQL稍有不同
  • 非过程化语言,不需要关心内部操作过程,按照需求编写代码
  • 语言简捷,用户容易接受
  • 以一种语法结构提供两种使用方式,可以和其他语言结合一起使用

SQL语法特点

  • SQL对关键字的大小写不敏感
  • SQL语句可以以单行或多行书写,最后以分号结束
  • SQL的注释:

-- 为单行注释,--的后面必须有一个空格

#为单行注释,#后面可以不加空格

/* */为多行注释


数据库系统简介

数据库概念

数据库(DataBase)是一个以某种组织方式存储在磁盘上的数据的集合。

数据库应用

数据库应用系统是指基于数据库的应用软件,如学生管理系统,电商商品列表等等。

数据库管理系统(数据库软件)

数据库分为关系型数据库(RDBMS)和非关系型数据库(NoSQL)两大类。

关系型数据库

  • Oracle数据库(最挣钱的数据库)
  • MySQL数据库(最流行中型数据库)
  • SQL server数据库(Windows上最好的数据库)
  • PostgreSQL(功能最强大的开源数据库)
  • SQLite(最流行的嵌入式数据库)

非关系型数据库

  • Redis(最好的缓存数据库)
  • MongoDB(最好的文档型数据库)
  • Elasticsearch(最好的搜索服务)
  • Cassandra(最好的列式数据库)
  • HBase(优秀的分布式,列式数据库)

SQL和数据库管理系统的关系

  1. SQL是一种用于操作数据库的语言,SQL适用于所有关系型数据库。
  2. MySQL、Oracle、SQLServer是一个数据库软件,这些数据库软件支持标准SQL,也就是通过SQL可以使用这些软件,但每一个数据库系统会在标准SQL的基础上扩展自己的SQL语法。
  3. 大部分的NoSQL数据库都有自己的操作语言,对SQL支持的并不好。

关系型数据数据库管理系统组成

数据库管理系统(DBMS)主要由数据库和表组成,一个系统可以有很多数据库,每个数据库可以用很多表。数据库系统可以由无数个数据库组成,一个数据库可以由无数个表组成。


MySQL

MySQL介绍

MySQL数据库管理系统由瑞典的DataKonsultAB公司研发,该公司被Sun公司收购,现在Sun公司又被Oracle公司收购,因此MySQL目前属于Oracle旗下产品。MySQL所使用的SQL语言是用于访问数据库的最常用标准化语言。MySQL软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,一般中小型网站的开发都选择MySQL作为网站数据库。

MySQL特点

  • MySQL数据库是用C和C++语言编写的,以保证源码的可移植性
  • 支持多个操作系统如WIndows、Linux、Mac OS等等
  • 支持多线程,可以充分利用CPU资源
  • 为多种编程语言提供API,包括C语言,Java,PHP,Python语言等
  • MySQL优化了SQL算法,有效提高了查询速度
  • MySQL开放源代码且无版权制约,自主性强、使用成本低
  • MySQL历史悠久,社区及用户非常活跃,遇到问题可以很快获取到帮助

MySQL常用图形管理工具

如果没有MySQL图形管理工具,MySQL日常的开发和维护均在类似的dos窗口中进行。我们使用MySQL图形管理工具来连接MySQL,然后在图形化界面上操作MySQL。

  • Navicat

Navicat是一套快速,可靠的数据库管理系统,Navicat是以直觉化的图形用户界面而建的,可以兼容多种数据库,支持多种操作系统。

  • SQLyog

SQLyog是一个快速简洁的图形化管理MySQL数据库的工具,它可以在任何地点有效地管理数据库,由业界著名的Webyog公司出品。使用SQLyog可以快速直观地从世界任何角落通过网络来维护远端的MySQL数据库。

  • MySQL Workbench

MySQL Workbench是MySQL官方提供的图形化管理工具,分为社区版和商业版。支持数据库的创建、设计、迁移、备份、导出和导入功能,并支持Windows、Linus和mac等主流操作系统。

  • DataGrip

DataGrip由JetBrains公司出品,是一款数据库管理客户端工具,方便连接到数据库服务器,执行sql、创建表、创建索引以及导出数据等。

图形化工具连接MySQL

Navicat连接:

 连接名可在如下图页面找到:


数据类型  

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

数值类型 

类型大小范围(有符号,为默认范围(无符号)用途
TINYINT1byte(-128,127)(0,255)小整数值
SMALLINT2bytes(-32768,32767)(0,65535)大整数值
MEDIUMINT3bytes(-8388608,8388607)(0,16777215)大整数值
INT或INTEGER4bytes(-2147483648,2147483647)(0,4294967295)大整数值
BIGINT8bytes(-9223372036854775808,9223372036854775807)(0,18446744073709551615)极大整数值
FLOAT4bytes(-3.402823466E+38,3.402823466351E+38)0,(1.175494351E-38,3.402823466E+38)单精度浮点数值
DOUBLE8bytes(-1.7976931348623157E+308,1.7976931348623157E+308)0,(2.2250738585072014E-308,1.7976931348627E+308)双精度浮点数值
DECIMAL   依赖于M和D的值依赖于M和D的值小数值
  • 若想将数值类型变为无符号范围,可在数值类型后加上unsigned,如:

sid tinyint unsigned 

  •  DECIMAL可指定小数保留几位,如decimal(5,2)代表小数有效位数(包含整数部分和小数部分)最多为五位,小数点后保留两位。

字符串类型

类型大小用途
CHAR0-255bytes定长字符串
VARCHAR0-65535bytes变长字符串
TINYBLOB0-255bytes不超过255个字符的二进制字符串
TINYTEXT0-255bytes短文本字符串
BLOB0-65535bytes二进制形式的长文本数据
TEXT0-65535bytes长文本数据
MEDIUMBLOB0-16777215bytes二进制形式的中等长度文本数据
MEDIUMTEXT0-16777215bytes中等长度文本数据
LONGBLOB0-4294967295bytes二进制形式的极大文本数据
LONGTEXT0-4294967295bytes极大文本数据

日期类型

类型大小范围格式用途
DATE3bytes1000-01-01/9999-12-31YYY-MM-DD日期值
TIME3bytes'-838:59:59'/'838:59:59'HH:MM-DD:SS时间值或持续时间
YEAR1bytes1901/2155YYYY年份值
DATETIME8bytes1000-01-01 00:00:00/9999-12-31 23:59:59YYYY-MM-DD HH:MM:SS混合日期和时间值
TIMESTAMP4bytes1970-01-01 00:00:00/2038YYYYMMDD HHMMSS混合日期和时间值,时间戳

 MySQL数据库基本操作

DDL

DDL(Data Definition Language),数据定义语言,该语言部分包括:对数据库的常用操作,对表结构的常用操作,修改表结构。

对数据库的常用操作

  •  查看所有数据库
show database;

结果: 

 

  •  创建数据库

create database [ if not exists ] mydb1 [ charest=utf8 ]; 

结果: 

 

 if not exists 可加可不加,加上表示该数据库不存在才进行创建操作,存在则不进行操作,可避免代码报错。

  •  切换(选择要操作的)数据库

use mydb1;

结果: 

 之后进行的操作都在该数据库中进行

  • 删除数据库

drop database [ if exists ] mydb1;

结果: 

 

 if exists 与上面提到的if not exists的作用相似,可加可不加,加上表示该数据库存在才进行删除操作,不存在则不进行操作,同样可避免代码报错。

  • 修改数据库编码

alter database mydb1 character set utf8;

结果: 

 

 数据库默认编码为utf8,可以不用修改。

 对表结构的常用操作

  • 创建表

 创建表是构建一张空表,指定表的名字,这个表有几列,每一列叫什么名字,以及每一列存储的数据类型。字段名就是列名。

create table [ if not exists ] 表名(

         字段名 类型 [ (宽度) ]  [约束条件]  [comment '字段说明']

)[表的一些设置] ;

 实例:

use mydb1;
create table if not exists student (
		sid int,
		name varchar(20),
		gender varchar(20),
		age int,
		birth date,
		address varchar(20)
);

 该表有六列,分别为学生的学号,姓名,性别,年龄,生日,住址。

结果:

  • 查看当前数据库的所有表名称

show tables;

 结果:

 

  • 查看指定某个表的创建语句

show create table 表名;

结果: 

 

 将代码展开为:

CREATE TABLE `student` (
  `sid` int(11) DEFAULT NULL,
  `name` varchar(20) DEFAULT NULL,
  `gender` varchar(20) DEFAULT NULL,
  `age` int(11) DEFAULT NULL,
  `birth` date DEFAULT NULL,
  `address` varchar(20) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8

 相比原代码,多出来的是约束与引擎。

  • 查看表结构

desc 表名;

结果: 

 

查看表结构,即查看表中有哪些列,每一列叫什么名字,以及每一列的类型。 

  • 删除表

drop table 表名;

结果:

 

修改表结构 

  • 修改表添加列 

 alter table 表名 add 列名 类型 (长度)[ 约束 ] ;

实例:

#为student表添加一个新的字段为:专业major,类型为varchar(20)
alter table student add major varchar(20);

 结果:

 

  • 修改列名和类型

 alter table 表名 change 旧列名 新列名 类型(长度)[ 约束 ];

 实例:

#为student表的major字段更换为department varchar(30)
alter table student change major department varchar(30);

结果:

 

 

如何查看类型是否改变:右键表名处-->设计表

 

  •  修改表删除类

alter table 表名 drop 列名; 

 实例:

#删除student表中department列
alter table student drop department;

结果:

 

 

  • 修改表名 

rename table 表名 to 新表名;

实例:

#将表student名字改为stu
rename table student to stu;

 结果:

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值