Mysql基础知识

一、数据库概述
数据库( DataBase )为了方便数据的存储和管理,它将数据按照特定的规则存储在磁盘上, 就是一个存储数据的仓库。通过数据库管理系统,可以有效的组织和管理存储在数据库中的数据
数据库的相关概念
DB :数据库( DataBase ) 存储数据的容器,它保存了一系列有组织的数据。
 DBMS :数据库管理系统( DataBase Management System )
又称为数据库软件或数据库产品,用于创建或管理DB
根据不同的存储类型可以分为:
关系型数据库和非关系型数据库 
1.1关系型数据库和非关系型数据库
关系数据库

关系型数据库管理系统称为 RDBMS , R 指 Relation
Oracle: 功能强大 , 收费 .
MySQL 快捷、可靠 开源、免费
SQL Server( 微软 ): 只能安装在 Windows 操作系统
DB2 (IBM): 适合处理海量数据 , 收费
非关系数据库
MongdoDB
Redis
1.2Mysql数据库
MySQL 是一个关系型数据库管理系统 , 由瑞典 MySQL AB 公司开发,目
前属于 Oracle 旗下产品。 MySQL 流行的关系型数据库管理系统。
● MySql 是一种关系数据库管理系统。
● MySql 软件是一种开放源码软件 , 你可以修改源码来开发自己的 Mysql 系统。
● MySql 数据库服务器具有快速、可靠和易于使用的特点。
● MySql 使用标准的 sql 语言 , 并且支持多种操作系统 , 支持多种语言 .
● mysql 商业版与社区版
● MySQL 商业版是由 MySQL AB 公司负责开发与维护 , 需要付费才能使用
● MySQL 社区版是由分散在世界各地的 MySQL 开发者、爱好者一起开发与维
护,可以免费使用
二、SQL语句
结构化查询语言 (Structured Query Language) 简称 SQL ,是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统.
SQL 优点:
不是某个特定数据库供应商专有的语是言,几乎所有 DBMS 都支持 SQL简单易学,灵活使用可以进行非常复杂和高级的数据库操作。

2.1DDL数据(结构)定义语言
是用于创建和修改数据库表结构的语言。
● 常用的语句: create ,alter,drop,rename
创建数据库并设置编码格式
CREATE DATABASE [if not exists] 数据库名 [ CHARSET utf8]
删除数据库
DROP DATABASE 数据库名 / [IF EXISTS 数据库名 ];
修改字符集
ALTER DATABASE 数据库名 CHARSET gbk;
具体实现如下:
 

-- 创建一个名叫schooldb的数据库
CREATE DATABASE schooldb 
-- 删除一个名叫schooldb的数据库
DROP DATABASE schooldb
-- 若此数据库则不存在创建一个数据库
CREATE DATABASE IF NOT EXISTS schooldb CHARSET utf8
-- 修改数据库
ALTER DATABASE schooldb CHARSET gbk

2.1.1数据库存储数据的特点
● 将数据放到表中,表再放到库中
● 一个数据库中可以有多个表,每个表都有一个名字,用来标识自己。表名具有
唯一性。
● 表具有一些特性,这些特性定义了数据在表中如何存储,类似Java中“类”的
设计。
● 表由列组成,我们也称列为字段。所有表都是由一个或多个列组成的,每一列
类似java中的”属性”
● 表中的数据是按行存储的,每一行类似于Java中的“对象”
2.1.3数据库表的基本概念
1、数据表
表(table)是数据存储的最常见和最简单的形式,是构成关系型数据库的基本元素。
表的最简单形式是由行和列组成,分别都包含着数据。 每个表都有一个表头和表体,表头定
义表名和列名 .表中的行被看作是文件中的记录,表中的列被看作是这些记录的字段。
2、字段
字段是表里的一列,用于保存每条记录的特定信息。如客户订单表的字段包括“订单
ID”、“姓名”、“客户ID”、“职务”、“上级”、“地区”、“运货商”、“国家”等。
数据表的一列包含了特定字段的全部信息。
3、记录
记录也被称为一行数据,是表里的一行。在关系型数据库的表里,一行数据是指一条完
整的记录
2.1.4设计表(数据类型)
char ( n ) 长度为 n 的定长字符串
varchar(n ) 最大长度为 n 的可变长字符串
date 日期, 包含年月日
datetime 年月日 时分秒
2.1.5创建表语法:
CREATE TABLE 表名 ( 列名 数据类型 [ 约束 ] [ 默认值 ] [ 注释 ],......)
CREATE TABLE t_user(
id INT [PRIMARY KEY NOT NULL AUTO_INCREMENT],
number INT(5) NOT NULL,
stuname VARCHAR(10) NOT NULL,
age INT(3) CHECK(age>18),
birthday DATE,
weight DOUBLE,
opertime datetime,
[CONSTRAINT 约束名 约束规则 ]
)
主键:
在一张表中代表唯一的一条记录 , 不能为空 , 不能重复
约束 :
PRIMARY KEY 设置主键约束
NOT NULL 不能为空约束
UNIQUE 唯一性约束
检查约束 设置条件
外键约束
主键自动增长
AUTO_INCREMENT
默认值
DEFAULT default_value
字段注释 :
comment ' 注释 '
具体实现如下:
 

--在schooldb中创建一个学生表
CREATE TABLE student(
id INT PRIMARY KEY AUTO_INCREMENT COMMENT '学号',
NAME VARCHAR(5) NOT NULL COMMENT '姓名',
gender CHAR(1),
birthday DATE,
address VARCHAR(30),
phone VARCHAR(11) NOT NULL UNIQUE COMMENT '电话号码' ,
height DOUBLE(3,2) CHECK(height<3),
zcrq DATETIME

删除表,修改表名
删除表
DROP TABLE [if exists ]表名
修改表名
RENAME TABLE 旧表名 TO 新表名
复制表结构
CREATE TABLE 新表名 LIKE 被复制表名
具体实现如下:
 

-- 删除学生表
DROP TABLE student
`student`
-- 修该表名,将表名从stu改为student
RENAME  TABLE stu TO student
-- 复制表
CREATE TABLE stu LIKE student

三、DML数据操纵语言
3.1向表中插入数据
方式 1: INSERT INTO 表名 ( 列 1, 列 2……, 列 n) VALUES( 值 1, 值 2….., 值 n);
方式 2: INSERT INTO 表名 set 列名 1= 值 1,.. 列名 n= 值 n;
方式 3: INSERT INTO 表名 ( 列 1, 列 2……, 列 n) VALUES( 值 1, 值 2….., 值 n),( 值 1, 值 2…..,值n);
方式 4:INSERT INTO 表名 ( 列 1, 列 2……, 列 n) 查询语句 ( 查询的列数与插入列数匹配 )
具体实现如下:

-- 向表中插入值
 INSERT INTO student SET NAME='tom',gender='男',phone='1563589';


3.2修改数据
UPDATE 表名 SET 列名 = ‘新值’ WHERE 条件
注:条件不能省略,没有条件将改变整个表、

--修改数据
UPDATE student SET NAME="独孤求败" WHERE NAME="张三";


3.3删除数据
DELETE FROM 表名 WHERE 条件
TRUNCATE TABLE 表名 ; 清空整张表
 

-- 删除表中的值
DELETE FROM student WHERE id=2
-- 清空表
TRUNCATE TABLE stu

3.4DELETE FROM  WHERE 与TRUNCATE TABLE的区别

第一个会一行一行的对表中的数据进行删除。

而第二个则是从结构层面上将表还原为初始状态。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值