纲要:
1、MySQL概念
2、操作分类
3、操作流程
MySQL 之基础操作一:C、R、U、D
一:
1)概念:
【知识补充】
关系型数据库是依据关系模型来创建的数据库。所谓关系模型就是“一对一、一对多、多对多”等关系模型,关系模型就是指二维表格模型,因而一个关系型数据库就是由二维表及其之间的联系组成的一个数据组织。关系型数据可以很好地存储一些关系模型的数据,比如一个老师对应多个学生的数据(“多对多”),一本书对应多个作者(“一对多”),一本书对应一个出版日期(“一对一”)关系模型是我们生活中能经常遇见的模型,存储这类数据一般用关系型数据库关系模型包括数据结构(数据存储的问题,二维表)、操作指令集合(SQL语句)、完整性约束(表内数据约束、表与表之间的约束)。
2)常见的关系型数据库:
MYSQL 简单的免费的数据库
Oracle 大型收费数据库
SQLServer 大学教材 微软的 C# 和 .Net 超市收银机
DB2
SyBase
SQLite 嵌入式数据库 Android系统
3)选择原因
二:
分类
A、MySQL的DDL(操作数据库和表,增删改查,使用)
B、MySQL的DML(操作表记录,增删改)
C、MySQL的DQL(操作表记录,查)
三:
操作前准备:
MySQL服务启动
1.任务管理器-> 服务
2. cmd--> services.msc 打开服务的窗口
3. 使用管理员打开cmd
MySQL登录选择
1. mysql -uroot -p密码
2. mysql -hip -uroot -p连接目标的密码
3. mysql --host=ip --user=root --password=连接目标的密码
4. * net start mysql : 启动mysql的服务
MySQL操作进行
1)步骤:创建数据库
语法: create databse 数据库名称 [character set 字符集 collate 字符集校验规则];
使用选择
#
A、 CREATE DATABASE db1 ; ---创建一个数据库,名称叫做 db1
B、 CREATE DATABASE db2 CHARACTER SET gbk ; ---创建一个字符集为 gbk的数据库 叫做 db2
C、 CREATE DATABASE db3 CHARACTER SET utf8 COLLATE utf8_bin ; --- 创建一个字符集为 utf8 字符集校验为 utf8_bin 的数据库叫 db3
2)步骤:查看数据库
语法:
1. SHOW DATABASES ; — 查看所有的数据库
2. SHOW CREATE DATABASE 数据库名称; —查看数据库的创建信息
使用选择
#
A、SHOW DATABASES ; --- 查看当前的数据库服务器当中,所有的数据库信息
B、SHOW CREATE DATABASE db2 ; --- 查 看数据库db2的信息
C、SHOW CREATE DATABASE db3 ; --- 查看数据库db3的信息
3)步骤:使用数据库
使用
#
USE 数据库名称;
4)步骤:创建表及表结构
语法:
CREATE TABLE 表名称 (字段名称 字段类型 约束,字段名称 字段类型 约束,字段名称 字段类型 约束…) ;
使用(注意英文符号)
#
CREATE TABLE 表名称(
数据定型 数据类型 ,数据定型 数据类型 ,数据定型 数据类型 ,.....);
【知识补充】
5)步骤:操作表记录(增/删/改)
语法:
增/删/改
1、表记录的添加语句 (选择)
A.添加指定列的数据
INSERT INTO 表名称 (列名1,列名2,列名3) VALUES (值1,值2,值3);
B.添加所有列的数据
INSERT INTO 表名称 VALUES (值1,值2,值3,值4,值5);
C.注意事项
除了数字类型(整数和小数)以外,其他的都要采用引号(单引号双引号都可以)引起来
2、表记录的删除语句 选择)
A.删除指定的某些条记录
DELETE FROM 表名称 [WHERE 条件];
B.删除整个表的操作
a. DELETE FROM 表名称; -- 删除整个表(逐行删除) 效率低
b. TRUNCATE TABLE 表名称; -- 删除整个表(先删表,再建表) 效率高 【推荐使用】
3、表记录的修改语句(选择)
A.常见修改语句的操作(带有条件)
UPDATE 表名称 SET 列名1=值1,列名2=值2 [WHERE 条件];
B.不常见的修改语句操作(修改所有的情况)
UPDATE 表名称 SET 列名1=值1,列名2=值2;
查
1、基础查询
A.多个字段的查询操作
a.通用写法
SELECT * FROM 表名称;
b.指定列写法
SELECT 列名1,列名2,列名3 FROM 表名称;
B.去掉重复的查询操作
SELECT DISTINCT 列名 FROM 表名称;
C.四则运算计算列的操作
SELECT IFNULL (列名1,0) + 列名2 FROM 表名称;
D.给查询结果起别名的操作
SELECT 列名1 AS 别名1,列名2 别名2 FROM 表名称;
2、条件查询 WHERE 后面的格式写法
A.与 && (理解)
a.写法1: SELECT * FROM 表名称 WHERE age>20 && age<30;
b.写法2: SELECT * FROM 表名称 WHERE age>20 AND age<30;
c.写法3: SELECT * FROM 表名称 WHERE age BETWEEN 20 AND 30;
B.或 || (理解)
a.写法1: SELECT * FROM 表名称 WHERE age=20 || age=30;
b.写法2: SELECT * FROM 表名称 WHERE age=20 OR age=30;
c.写法3: SELECT * FROM 表名称 WHERE age IN(20,30); -- 年龄是20或者30的才可以
C.非 ! (理解)
a.写法1: SELECT * FROM 表名称 WHERE address IS NULL; -- 居住地是Null
b.写法2: SELECT * FROM 表名称 WHERE address IS NOT NULL; -- 居住地不是Null
D.排序
a.DESC降序排序,。。要用与order by一起用。
b.ASC就是升序
写法1:select * from 表名称 order by 数据定型 desc;
写法2:select * from 表名称 order by 数据定型 desc,数据定型 desc;
* 注意:
* 如果有多个排序条件,则当前边的条件值一样时,才会判断第二条件。
3、模糊查询 WHERE LIKE
A.两个占位符
a. '_' 下划线,表示1个字符
b. '%' 百分号,表示0个或多个字符
B.案例
a. 查询姓'天'
SELECT * FROM hero WHERE name LIKE '天%';
b. 查询姓'天'只有两个字
SELECT * FROM hero WHERE name LIKE '天_';
c. 查询第二个字是'天'的
SELECT * FROM hero WHERE name LIKE '_天%';
d. 查询只要带有'天'字的
SELECT * FROM hero WHERE name LIKE '%天%';
6)操作补充(数据库/表)
修改数据库的操作(选择)
1、修改数据库的字符集
ALTER DATABASE 数据库名称 CHARACTER SET 具体的编码;
2、删除数据库的操作(选择)
A.基本的删除操作
DROP DATABASE 数据库名称;
B.判断是否存在,存在则删除的操作
DROP DATABASE IF EXISTS 数据库名称;
3、使用数据库的操作(选择)
A.使用数据库
USE 数据库名称;
B.查询正在使用当中的数据库
SELECT DATABASE();
修改表的操作(选择)
1、查询表的操作(选择)
A.查询数据库当中所有的表信息
SHOW TABLES;
B.查询某个具体表的结构(每个字段的信息)
DESC 表名称;
2、删除表的操作(选择)
A.基本的删除操作
DROP TABLE 表名称;
B.判断是否存在,存在则删除的操作
DROP TABLE IF EXISTS 表名称;
3、修改表的操作(选择)
A.修改表名称
ALTER TABLE 原始表名称 RENAME TO 新的表名;
B.修改表的字符集
ALTER TABLE 表名称 CHARACTER SET 字符集编码;
C.修改列名
ALTER TABLE 表名称 CHANGE 旧列名称 新列名称 新列数据类型;
ALTER TABLE 表名称 MODIFY 要修改的列名 新的数据类型;
D.增加一列
ALTER TABLE 表名称 ADD 列名称 数据类型;
E.删除一列
ALTER TABLE 表名称 DROP 列名称;
7)步骤:操作完毕
退出(选择)
net stop mysql:关闭mysql服务、MySQL退出
A、exit
B、quit