赞
踩
在MySQL中可以将SQL分为4大类
DDL数据定义语言,create创建、alter修改、drop删除、truncate截断
DML数据操纵语言,insert插入、update修改、delete删除
DQL数据查询语言,select查询
DCL数据控制语言,grant授权、revoke回收权限
用于定义数据库对象的操作语句
- create database test default character set utf8;
- -- 创建数据库,名称为test,默认 编码字符集为utf-8 -- 如果数据库已经存在,则再次创建会报错
- create database if not exists test default character set utf8;
- -- 如果test已经 存在则不执行创建操作,同时不会报错
删除操作 :drop database 数据库名称;
查看所有数据库 :show databases;
切换当前数据库:use 数据库名称;
数据表的操作
创建数据表基本语法:
create table 数据表的名称(数据列的名称 数据类型 约束规则,......)engine= 存储引擎名称 default charset utf8;
- create table tb_student(
- -- 这里可以加入if not exists表示不存在时才进行创建。注意 在一个数据库中的表名称不允许重复。按照阿里的规范,要求基表名称必须使用【tb_表】
- id bigint primary key auto_increment,
- name varchar(20) not null,
- sex boolean default 1 -- 在mysql数据库中有一些属性数据类型的别名
- ) engine=innodb default charset utf8;
- -- 实际上从MySQL5.5开始默认存储引擎就是 innodb,但是一般建议还是添加上存储引擎的设置
查看表中的列定义 :desc tb_student;
查看具体的列定义 :show create table tb_student;
DML数据操纵语言,用于对数据库表中的记录进行更新操作,插入insert、修改update、删除 delete
DQL数据查询语言,用于对数据库表中的记录进行查询操作,select
增加数据
语法1: inser into 表名称 values(值1,值2,....) 用于针对表中的每个列指定对应的值
语法2: insert into 表名称(列名1,列名2,...) values(值1,值2,...) 人为指定列插入数据,注意两个括号一一对应,一般用于不是每个列都需要插入数据时使用。
修改数据
语法1: update 表名称 set 列名1=值1,列名2=值2,... 。修改表中所有行的指定列对应的值,等号后面可以是一个表达式进行计算。
语法2: update 表名称 set 列名1=值1,列名2=值2,... where 条件 用于修改表中满足条件的行指定列的值;
删除数据
语法1: delete from 表名称; 删除表中所有数据。例如 delete from tb_users;
语法 2 : delete from 表名称 where 条件 ; 删除表中满足条件的所有行。
整表删除操作方法 1 : delete from tb_student ; 可以删除表中的所有数据,属于 DML 语句,所以支持事务,支持撤销回滚操作,但是大量的删除数据时需要记录日志,所以执行效率很低。优势在于可以反悔,缺点在于记录日志需要时空代价方法 2 : truncate table tb_student ; 表的截断操作,可以删除表中的所有数据,属于 DDL 语句,没有事务,不会记录操作日志,所以大量删除数据时执行效率高。优势是执行效率,缺点在于没有反悔的机会。底层原理就是创建一个相同的空表
- select [all/distinct] <目标表达式>,<目标表达式>,...
- from 表名称或者视图名称,表名称或者视图名称,... -- 在MySQL中允许查询语句中没有from
- where 条件语句
- group by 分组条件 [having 条件表达式]
- order by 排序条件 [asc/desc]
- limit ...
1、查看表中所有数据 select * from tb_users ,这里的星号*是个通配符,表示获取所有列的值
2、带条件查询。
3、非空或者空值判断,注意不能使用=null或者!=null的写法,应该使用is null或者is not null
4、字符串比较
5、选择表中的若干元组
数据库设计是指对于一个给定的应用环境,构建最优的数据库模型,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的信息要求和处理要求
常见的数据库设计方法:
试凑法:凭借的是开发经验
规范化法:3NF和反范式
CAD计算机辅助设计
按照规范设计可以将数据库的设计过程分为6个阶段:系统需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库实施、数据库运行与维护。
需求分析:全面了解设计的存储需求,保证数据的安全性和完整性。里程碑是需求分析文档
概念设计:根据需求了解各个需要存储的实体以及实体之间的关系,里程碑是ER图
逻辑结构设计:设计数据的逻辑存储结构,根据数据实体之间的逻辑关系解决数据冗余和数据维护异常,里程碑是模式定义
物理结构设计:根据具体使用的数据库特点进行表结构设计,里程碑是建库建表的SQL语句
维护优化:根据实际情况,对索引、存储结构等相关方面进行优化
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。