初级数据库(数据库初期概念讲解与DDL,DML所有方法使用)

为什么要学习数据库?

  1. 实现数据持久化到本地;
  2. 使用完整的管理系统统一管理,可以实现结构化查询,方便管理;

数据库概述:

​ 数据库(DataBase)为了方便数据的存储和管理,它将数据按照特定的规则存储在磁盘上,就是一个存储数据的仓库。通过数据库管理系统,可以有效的组织和管理存储在数据库中的数据。
在这里插入图片描述

数据库的相关概念

DB:数据库(DataBase) 存储数据的容器,它保存了一系列有组织的数据。

DBMS:数据库管理系统(DataBase Management System) 又称为数据库软件或数据库产品,用于创建或管理DB。

SQL:结构化查询语言(Structure Query Language) 用于和数据库通信的语言,不是某个数据库软件特有的,而是几乎所有的主流数据 库软件通用的语言。

数据库分类

关系型数据库
关系型数据库管理系统称为RDBMS,R指Relation

Oracle:功能强大,收费.

MySQL 快捷、可靠 开源、免费

SQL Server(微软): 只能安装在Windows操作系统

DB2 (IBM):适合处理海量数据,收费.

非关系型数据库 MongdoDB Redis

Mysql数据库 :

查看数据库版本 select version();(mysql命令)

MySQL的常用命令

查看当前所有的数据库:show databases;

选择指定的库:use 库名

查看当前的所有表:show tables;

查看其他库的所有表:show tables from 库名;

**

MySQL语法规范

**

1.不区分大小写,建议关键字大写,表名、列名小写
2.每次执行时需要提前选定;

如何设置注释

●单行注释:#注释文字

●单行注释:–(空格)注释文字

●多行注释:/* 注释文字 */

SQL语言

结构化查询语言(Structured Query Language)简称SQL,是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统.

SQL优点:不是某个特定数据库供应商专有的语是言,几乎所有DBMS都支持SQL简单易学实际上强有力的语言,灵活使用可以进行非常复杂和高级的数据库操作

数据(结构)定义语言DDL(Data Definition Language),是用于创建和修改数据库表结构的语言,常用的语句:create ,alter,drop,rename

对于初识数据库我们该如何使用数据库的SQL语言呢?
语法与举例如下:

– 删除数据库

DROP DATABASE school;

– 创建新的数据库

CREATE DATABASE school_db CHARSET utf8;

– 判断数据库是否存在不存在直接创建

CREATE DATABASE IF NOT EXISTS school_db CHARSET gbk;

修改数据库字符集

ALTER DATABASE school_db CHARSET gbk;

设计表的要素:

1.表名(表信息)
2.表中的字段
3.字段的数据类型和长度
4.哪些约束

设计表(数据类型)

char(n) 长度为n的定长字符串, 即使内容只有一个字节,他也会占用占用n个字节的位置

varchar(n) 最大长度为n的可变长字符串,实际上有几个字节他就占用几个字节

date 日期, 包含年月日

datetime 年月日 时分秒

浮点型
数据类型(M,D)

M:精度,数据的总长度;D:标度,小数点后的长度

Float(6,2)、Double(6,2)

BLOB了解内容

BLOB是一个二进制大对象,可以容纳可变数量的数据,用于存储图片视频信息.有4种BLOB类型:TINYBLOB、BLOB、MEDIUMBLOB和LONGBLOB。它们只是可容纳值的最大长度不同。

结构知识

主键: 在一张表中代表唯一的一条记录,不能为空,不能重复

约束:PRIMARY KEY 设置主键约束

NOT NULL 不能为空约束

UNIQUE 唯一性约束检查约束设置条件

外键约束主键自动增长: AUTO_INCREMENT

默认值 DEFAULT default_value 字段

注释: comment ‘注释’

CREATE TABLE t_student(
id INT ,
NAME VARCHAR(3) NOT NULL,
sex VARCHAR(1) DEFAULT '男' ,
birthday DATETIME NOT NULL,
reg_time DATETIME NOT NULL,
phone INT UNIQUE,
height FLOAT(4,1)
)

数据库列表的创建

1. CREATE TABLE 表名(列名 数据类型 [约束] [默认值] [ 注释],…)

举例: CREATE TABLE t_student()

2.删除表

DROP TABLE [if exists ]表名

举例: DROP TABLE IF EXISTS t_student – 在判断完成t_student表是否存在后进行删除

3.修改表名

RENAME TABLE 旧表名 TO 新表名

举例: RENAME TABLE t_student TO student

4. 复制表结构

CREATE TABLE 新表名 LIKE 被复制表名

举例: CREATE TABLE t2_student LIKE t_student

修改表结构

– 添加主键约束(ALTER TABLE 表名 ADD PRIMARY KEY(列名) )

  ALTER TABLE student ADD PRIMARY KEY (id)

– 删除主键约束(ALTER TABLE 表名 DROP PRIMARY KEY)

ALTER TABLE student DROP PRIMARY KEY

– 设置自增长(ALTER TABLE 表名 MODIFY 列名 类型 AUTO_INCREMENT)

  ALTER TABLE student MODIFY id INT AUTO_INCREMENT

– 删除自增长(ALTER TABLE users MODIFY 列名 类型)

   ALTER TABLE student MODIFY id INT

– 设置内容不能为空(ALTER TABLE 表名 MODIFY 列名 类型 NOT NULL)

   ALTER TABLE student MODIFY NAME VARCHAR(4) NOT NULL

– 设置内容可以为空(ALTER TABLE 表名 MODIFY 列名 类型 NULL)

   ALTER TABLE student MODIFY NAME VARCHAR(4)NULL`

– 添加唯一约束(ALTER TABLE 表名 ADD CONSTRAINT 约束名 UNIQUE(列名))

ALTER TABLE student ADD CONSTRAINT exphone UNIQUE phone 

– 关闭唯一约束(ALTER TABLE 表名 DROP INDEX约束名)

   ALTER TABLE student DROP CONSTRAINT INDEX exphone

– 添加检查约束(ALTER TABLE 表名 ADD CONSTRAINT 约束名 CHECK(条件))

ALTER TABLE student ADD CONSTRAINT sex CHECK('男')

– 删除检查约束(ALTER TABLE 表名 DROP CHECK 约束名)

   ALTER TABLE student DROP CONSTRAINT sex

– 添加新列(ALTER TABLE 表名 ADD 列名 数据类型)

   ALTER TABLE student ADD weight INT[FIRST]
   ALTER TABLE studnet ADD weight AFTER phone

– 删除列(ALTER TABLE 表名 DROP 列名)

 ALTER TABLE student DROP weight

– 修改列名(ALTER TABLE 表名 CHANGE 旧列名 新列名 数据类型)

ALTER TABLE student CHANGE phone phones VARCHAR(10)

– 修改列数据类型(ALTER TABLE 表名 MODIFY 列名 新数据类型)

  ALTER TABLE student MODIFY phone INT 

在外界插入数据的方法

方式1: INSERT INTO 表名(列1,列2……,列n) VALUES(值1,值2……,值n)

INSERT INTO t_student(NAME,sex,birthday,height,phone,reg_time)VALUES('jim','女','2000-2-2',170.2,'12324',NOW())

方式2: INSERT INTO 表名 set 列名1=值1,…列名n=值n

INSERT INTO t_student SET NAME='李四',sex='男',birthday='2000-2-2',phone='123445',reg_time=NOW()

方式3: INSERT INTO 表名(列1,列2……,列n) VALUES(值1,值2……,值n),(值1,值2……,值n) – 同时加入两行数据

INSERT INTO t_student (NAME,sex,birthday,height,phone,reg_time)VALUES('ji1m','女','2000-2-2',170.2,'1222324',NOW()),('jim2','女','2000-2-2',170.2,'1233424',NOW())

进行数据修改

UPDATE 表名 SET 列名 = ‘新值’WHERE 条件

UPDATE student SET NAME='凉凉' WHERE num=1  -- 将表名为student 的表中第一行的name改为凉凉

删除数据

DELETE FROM 表名 WHERE 条件 

TRUNCATE TABLE 表名   清空整张表
  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值