MySQL的sql语言基本操作

基础概念:
数据库(DataBase,简称DB): 指长期保存在计算机的存储设备上,按照一定规则组织起来,可以被各种用户或应用共享的数据集合。简单理解数据的仓库。

数据库管理系统(DataBase Management System,简称DBMS): 指一种操作和管理数据库的大型软件,用于建立、使用和维护数据库,对数据库进行统一管理和控制,以保证数据库的安全性和完整性。用户通过数据库管理系统访问数据库中的数据。

数据库系统DBS(Data Base System,简称DBS): 是一个实际可运行的存储、维护和应用系统提供数据的软件系统,是存储介质、处理对象和管理系统的集合体。它通常由软件、数据库和数据管理员(DBA)组成。

数据库是通过数据库管理系统创建和操作的。

常见数据库管理系统
Oracle: Oracle数据库被认为是业界目前比较成功的关系型数据库管理系统。Oracle数据库可以运行在UNIX、Windows等主流操作系统平台,完全支持所有的工业标准,并获得最高级别的ISO标准安全性认证。

MySQL: MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件。

DB2: DB2是IBM公司的产品,DB2数据库系统采用多进程多线索体系结构,其功能足以满足大中公司的需要,并可灵活地服务于中小型电子商务解决方案。

Microsoft SQL Server: SQL Server 是Microsoft 公司推出的关系型数据库管理系统。具有使用方便可伸缩性好与相关软件集成程度高等优点。

SQLLite: 应用在手机端的数据库。

非关系数据库 NoSQL
Redis: 是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。

MongoDB: 是一个基于分布式文件存储的数据库。

MySQL的下载地址:
https://downloads.mysql.com/archives/community/

MySQL的安装:
很简单,选择一个适合的版本一直下一步,填写密码就安装好了

安装好了后,在任务管理器可看mysql运行状态。
配置环境变量: 5.7以后系统安装自动配置,将mysql安装目录下bin目录添加到环境变量path中,在cmd中输入path可看环境是否添加成功。
检查好了后,cmd输入命令登录:mysql -uroot -p 输入密码即可
cmd退出数据库:quit;exit;

w3school sql教程:https://www.w3school.com.cn/sql/index.asp

安装目录介绍
bin: 二进制文件
docs: 存放文档
include: 头文件
lib: 链接库
share: 语言文件
C:\ProgramData\MySQL\MySQL Server 5.7 存放数据库的目录和配置

my.ini配置
设置编码
设置数据库默认编码:default-character-set=utf8
设置服务器编码: character-set-server=utf8

服务的停止和启动
使用windows的服务界面 停止和启动 MySQL57
停止 net stop MySQL57 启动 net start MySQL57

把MySQL的bin目录添加环境变量
C:\Program Files\MySQL\MySQL Server 5.7\bin 添加到path中

SQL语言
SQL: Structure Query Language(结构化查询语言),SQL 是一种关系数据库标准化的语言,它允许你在数据库上执行操作,如创建数据库、表等等,查询内容,更新内容,并删除条目等操作。
Create, Read, Update, and Delete 通常称为CRUD操作。

SQL语句分类
DDL(Data Definition Language): 数据定义语言,用来定义数据库对象:库、表、列等。
DML(Data Manipulation Language): 数据操作语言,用来定义数据库记录(数据)。
DCL(Data Control Language): 数据控制语言,用来定义访问权限和安全级别。
DQL(Data Query Language): 数据查询语言,用来查询记录(数据)。

MySQL的使用注意:
sql语句以;结尾。
MySQL注释:(1)#开头 (2)–空格 开头 (3)/* 多行注释 */

MySQL系统默认数据库:
information_schema:information_schema数据库是MySQL自带的,它提供了访问数据库元数据的方式。什么是元数据呢?元数据是关于数据的数据,如数据库名或表名,列的数据类型,或访问权限等。

mysql:是mysql的核心数据库,主要负责存储数据库的用户、权限设置、关键字等mysql自己需要使用的控制和管理信息,不可以删除。

performance_schema:性能优化的数据库

sys:系统数据库,通过这个库可以快速的了解系统的元数据信息
这个库确实可以方便DBA发现数据库的很多信息,解决性能瓶颈都提供了巨大帮助。

DDL定义数据库:
创建:
CREATE DATABASE [IF NOT EXISTS] db_name 数据库名:如果没有就创建数据库
查看:
SHOW DATABASES; 显示当前mysql中的所有数据库
SHOW CREATE DATABASE db_name;显示前面创建的db_name数据库的定义信息
修改:
ALTER DATABASE db_name character SET gbk;查看服务器中的数据库,并把db_name 的字符集修改为gbk;
删除:
DROP DATABASE [IF EXISTS] test1;如果存在则删库跑路
其他:
SELECT DATABASE();查看当前使用的数据库
USE db_name;切换数据库

DDL定义表:
**创建表:**CREATE TABLE
语法:CREATE TABLE [IF NOT EXISTS] 表名( 字段1 字段类型(长度) 约束, ... 字段n 字段类型(长度) 约束 ) [charset=utf8];
示例:

CREATE TABLE IF NOT EXISTS student
(
   id INT NOT NULL,
   name VARCHAR(50),
   age INT,
   address VARCHAR(100)
) CHARSET=utf8;

注意:数据库名、表名、字段名可以使用反勾号` 括住,也可以不括。如果SQL关键字一般要括住。

查看表:
SHOW TABLES;当前数据库中的所有表
DESC student;查看表的字段信息
SHOW CREATE TABLE student;查看表的创建信息

修改表:
ALTER TABLE student ADD image blob;在上面学生表的基础上增加一个image列
ALTER TABLE student MODIFY address varchar(60);修改address列,使其长度为60
ALTER TABLE student DROP image;删除image列,一次只能删一列
RENAME TABLE student TO user;修改表名
ALTER TABLE user CHARACTER SET gbk;修改表的字符集为gbk
ALTER TABLE user CHANGE name username varchar(100);列名name修改为username

删除表:
DROP TABLE [IF EXISTS] user;删除表user

常用数据类型:
int: 整型(4个字节)
double: 浮点型(8个字节),近似值
例如double(5,2)表示最多5位,其中必须有2位小数,取值范围为-999.99到999.99
decimal: 精确数值数据,最大位数可以是65
例如decimal(5,2)能够存储具有五位数和两位小数的任何值,因此可以存储范围为-999.99至999.99。
char: 固定长度字符串类型; char(10) 'aaa ’ 固定10个字符,不足补空格, 长度0-255
缺点:浪费空间,优点:查询速度快
varchar: 可变长度字符串类型; varchar(10) ‘aaa’ 最多存储10个字符
缺点:查询速度慢,优点:节省空间
text: 大文本字符串类型;有字符编码,存储比较大的文本数据。
blob: Binary Large Object 二进制大对象数据;可以存储图片、音频、视频
date: 日期类型,格式为:yyyy-MM-dd
time: 时间类型,格式为:hh:mm:ss
timestamp: 时间戳类型 yyyy-MM-dd hh:mm:ss 会自动赋值
datetime: 日期时间类型 yyyy-MM-dd hh:mm:ss

常用约束:
主键约束:primary key (保证数据唯一性),不能重复,不能为null
唯一约束:unique [key],不能重复,可以为null
非空约束:not null
默认约束:default
外键约束:foreign key
自动增长:auto_increment

DML操纵(重要)
DML是对表中的数据进行增、删、改的操作。
主要包括:INSERT 、UPDATE、 DELETE
注意:
在mysql中,字符串类型和日期类型都要用单引号括起来。
空值:null。

插入操作:INSERT:
语法: INSERT INTO 表名(列名1,列名2 ...)VALUES(列值1,列值2...);
一次添加一条数据

INSERT INTO student(id,name,age,address) values (1,'zhangsan',20,'北京海淀');
INSERT INTO student(id,name,age,address) values (2,'lisi',22,'上海浦东');

一次添加多条数据

INSERT INTO student(id,name,age,address) values (3,'曹操',27,'北京海淀'),
											(4,'周瑜',28,'北京朝阳');

修改操作:UPDATE:
语法:UPDATE 表名 SET 列名1=列值1,列名2=列值2 ... WHERE 列名=值;
所有学生的年龄修改为25

UPDATE student SET age=25; 

将id为’1’的地址修改为“河北保定”

UPDATE student SET address='河北保定' WHERE id=1;
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值