MySql
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了MySql,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含5070字,纯文字阅读大概需要8分钟。
内容图文
![MySql](/upload/InfoBanner/zyjiaocheng/865/83d4661699da4a3cbcea293534256fd6.jpg)
##DDL :操作数据库、表
一.操作数据库: CRUD
1. C(Create):创建
*创建数据库:
create database 数据库名称;
*创建数据库,判断不存在,再创建:
*create database if not exists数据库名称;
*创建数据库,并指定字符集
*create database 数据库名称character set 字符集名;
*练习:创建db4数据库, 判断是否存在,并制定字符集为gbk
* create database if not exists db4 character set gbk;
2. R(Retrieve) :查询
*查询所有数据库的名称:
*show databases;
*查询某个数据库的字符集:查询某个数据库的创建语句
*show create database 数据库名称;
3. U(Update):修改
*修改数据库的字符集
*alter database 数据库名称character set 字符集名称;
4. D(Delete):删除
删除数据库
*drop database 数据库名称;
*判断数据库存在,存在再删除
* drop database if exists 数据库名称;
5.使用数据库
查询当前正在使用的数据库名称
*select database();
二.操作表
1. C(Create):创建
1.语法:
create table 表(
列名1数据类型1,
列名2数据类型2,
列名n数据类型n
);
*注意:最后一列,不需要加逗号(,)
复制表:
create table表名like 被复制的表名;
2. R(Retrieve) :查询
*查询某个数据库中所有的表名称
show tables;
*查询表结构.
*desc表名;
3. U(Update) :修改
1.修改表名
alter table 表名 rename to 新的表名;
2.修改表的字符集
alter table表名character set 字符集名称;
3.添加一列
alter table表名add 列名 数据类型;
4.修改列名称类型
alter table 表名 change 列名 新列别 新数据类型;
alter table 表名modify 列名 新数据类型;
5.删除列
4. D(Delete):删除
drop table表名;
* drop table if exists 表名;
## DML :增删改表中数据
1.添加数据:
*语法:
insert into 表名(列名1,列名2....列名n) values(值1,值2....值n);
*注意:
1.列名和值要一一 对应。
2.如果表名后,不定义列名,则默认给所有列添加值
insert into 表名values(值1,值2,...值n);
3.除了数字类型,其他类型需要使用引号(单双都可以)引起来
2.删除数据:
*语法:
delete from表名[where 条件]
*注意:
1.如果不加条件,则删除表中所有记录。
2.如果要删除所有记录
1. delete from表名;-
--不推荐使用。有多少条记录就会执行多少次删除操作
2. TRUNCATE TABLE名; -- 先删除表,然后再创建一张一样的表。
3.修改数据:
*语法:
update 表名 set 列名1 =值1,列名2 =值2,... [where 条件] ;
## DQL :查询表中的记录
1.语法:
select
字段列表
from
表名列表
where
条件列表
group by
分组字段
having
分组之后的条件
order by
排序
limit
分页限定
2.基础查询
1.多个字段的查询
select 字段名1,字段名2... from 表名;
*注意:
如果查询所有字段,则可以使用*来替代字段列表。
2.去除重复:
distinct
3.计算列
*一般可以使用四则运算计算一些列的值。 (- 般只会进行数值型的计算)
*ifnull(表达式1,表达式2) : null参与的运算,计算结果都为null
*表达式1 :哪个字段需要判断是否为null
*如果该字段为nul1后的替换值。
4.起别名:
*as :Ias也可以省略
3.条件查询
1. where子句后跟条件
2.运算符
>、<、<=、>=、=、<>
BETWEEN. . . AND 在什么和什么之间
IN(集合)
LIKE :模糊查询
*占位符
_单个任意字符
%:多个任意字符
IS NULL 判断一个字段值是空
and 或&&
or或||
not或!
# DQL:查询语句
1.排序查询
*语法: order by子句
*order by排序字段1 排序方式1,排序字段2 排序方式2...
*排序方式:
*ASC :升序,默认的。
*DESC :降序。
*注意:
*如果有多个排序条件,则当前边的条件值一样时,才会判断第二条件。|
按照math(数学成绩)排序
2.聚合函数:将一列数据作为一个整体,进行纵向的计算。
1. count :计算个数
2. max :计算最大值
3. min:计算最小值
4. sum:计算和
5. avg:计算平均值
运行效果:
SELECT COUNT (IFNULL (english,0)) FROM student;
SELECT COUNT (id) FROM student;
SELECT MAX (math) FROM student;
3.分组查询
1.语法: group by分组字段;
2.注意:
1.分组之后查询的字段:分组字段、聚合函数
2. where和having 的区别?
1. where在分组之前进行限定,如果不满足条件,则不参与分组。having在分组之后进行限定,如果不满足结果,则不会被查询出来
2. where后不可以跟聚合函数,having可以进行聚合函数的判断。
4.分页查询
1.语法: limit 开始的索引,每页查询的条数;
2.公式:开始的索引= (当前的页码 - 1) * 每页显示的条数
##表约束
*概念:对表中的数据进行限定,保证数据的正确性、有效性和完整性。
分类:
1.1主键约束: primary key
1.注意:
1.含义:非空且唯一
2. 一张表只能有一个字段为主键
3主键就是表中记录的唯一标识
自动增长
2.非空约束: not null
3.唯一约束: unique
4.外键约束: foreign key
级联操作
##数据库的设计
1.多表之间的关系
1.分类:
1.一对一(了解) :
*如:人和身份证
*分析:一个人只有一个身份证,一个身份证只能对应一个人
2. 一对多(多对一) :
*如:部门和员工
*分析:一个部门有多个员工,一个员工只能对应一个部门
3.多对多:
*如:学生和课程
*分析:一个学生可以选择很多门课程,一个课程也可以被很多学生选择
2.实现关系:
1.一对多(多对一) :
*如:部门和员工
实现方式:在多的一方建立外键,指向一的一方的主键。
2.多对多:
*如:学生和课程
实现方式:多对多关系实现需要借助第三张中间表。
中间表至少包含两个字段,这两个字段作为第三张表的外键,分别指向两张表的主键
3.一对一:(了解)
实现:对一关系实现,可以在任意一方添加唯一外键指向另一方的主键。
内容总结
以上是互联网集市为您收集整理的MySql全部内容,希望文章能够帮你解决MySql所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。