mysql基本操作有那些

60次阅读
没有评论

共计 4527 个字符,预计需要花费 12 分钟才能阅读完成。

自动写代码机器人,免费开通

这篇文章给大家分享的是有关 mysql 基本操作有那些的内容。丸趣 TV 小编觉得挺实用的,因此分享给大家做个参考。一起跟随丸趣 TV 小编过来看看吧。

文章目录

一、SQL 是什么?分类:二、关于数据库 CRUD 操作 1. 操作表 list:2. 对表内数据进行操作:a. 查询 b.where 条件:三、查询 1. 排序查询 2. 聚合函数(列的计算)3. 分组查询 4. 排序查询四、约束 1. 非空约束:not null2. 唯一约束实例操作:3. 主键约束:primary key4. 自动增长:auto_increment 五、总结错误实例一、SQL 是什么?

structured Query Language:结构化查询语言

分类:

1) DDL(Data Definition Language)数据定义语言
用来定义数据库对象:数据库,表,列等。关键字:create, drop,alter 等
2) DML(Data Manipulation Language) 数据操作语言
用来对数据库中表的数据进行增删改。关键字:insert, delete, update 等
3) DQL(Data Query Language) 数据查询语言
用来查询数据库中表的记录(数据)。关键字:select, where 等
4) DCL(Data Control Language) 数据控制语言(了解)
用来定义数据库的访问权限和安全级别,及创建用户。关键字:GRANT,REVOKE 等

二、关于数据库 CRUD 操作

#Createcreate database hzyc;create database if not exists hzyc98 character set gbk;#Retrieveshow databases;show create database hzyc98;#Updatealter database hzyc98 character set gbk;#Deletedrop database hzyc98;drop database if exists hzyc98; #查看当前使用的数据库 select database();show tables;use hzyc98

1. 操作表 list:

表名 / 表头为:zoomlist

# 查 show tables; -- show tables_in_hzyc98desc zoomlist;# 增 create table zoomlist (Name varchar(30),
 Age int,
 ID int,
 Height double(5,1))# 删 drop table if exists zoomlist;# 改 alter table zoomlist rename to newzoomlist;alter table zoomlist character set gbk;alter table zoomlist add Name varchar(20);# 加列 alter table zoomlist change Age newAge int;alter table zoomlist modify Age char(8);alter table zoomlist drop Name;/* 设置类型:*/
 - int、double(5,1)、varchar(20) 
 - date #yyyy-MM-dd
 - datetime #yyyy-MM-dd HH:mm:ss 
 - timestamp# 时间戳 yyyy-MM-dd HH:mm:ss

2. 对表内数据进行操作:

# 除了数字,其他都需要引号来赋值 insert into zoomlist (Name, Age, ID, Height) value(美洲豹 ,5, 20201207 ,3.2);insert into zoomlist (美洲豹 ,5, 20201207 ,3.2);# 删除 delete from zoomlist where [条件];delete from zoomlist;TRUNCATE TABLE zoomlist;# 修改 update zoomlist set Name = 大笨象 Age = 12 where address = 深圳 update zoomlist set address = 深圳

a. 查询

# 查询 #尽量不要用 * 先 desc 一下表里面有啥,然后在决定展示什么东西。SELECT * FROM zoomlist; SELECT Name,Age FROM zoomlist; -- 只显示某个列, 方便查看!SELECT DISTINCT Name FROM zoomlist; -- 去除结果中 [完全重复] 的 SELECT Name,score1,score2,scroe1+scroe2 FROM zoomlist;--as: 自定义名字展示, 也可以不写 asSELECT Name,scroe1+IFNULL(scroe2,0) 总分 FROM zoomlist; --ifnull 遇到没有值的直接给赋值为 0SELECT Name,score1,score2,scroe1+IFNULL(scroe2,0) AS 总分 -- 显示表头 FROM zoomlist,peoplelist; -- 从 zoomlist、peoplelist 里面获取

b.where 条件:

*、、=、=、=、!=、-- 不等号 * and、or、not -- 关键字比、||、!好用推荐 * BETWEEN...AND -- 范围内都符合就行 * IN(集合) -- 特定值的范围 * LIKE:模糊查询(1)_: 单个任意字符;(2)%:多个任意字符 * IS NULL 例子:select Name, Age from Student where age between 12 and 20;select Name, Age from Student where age in (12,14,16,18);select Name, Age from Student where name like % 牛 % -- 查名字里面包含了牛的学生 select Name, Age from Student where name is not null; -- 查询学生:名字空的不查

三、查询 1. 排序查询

select * from employee order by age;select * from employee order by age asc; -- 升序 select * from employee order by age desc; -- 降序 select * from employee order by age desc height desc; -- 第一个一样的时候,才会用第二个方法排序(age 降序,身高降序)

2. 聚合函数(列的计算)

排除了 null 数据,并且有 null 的数据就不参与计算,不会报错!

count:统计个数 min、max、sum、avg:求值

select count(*) from student;select count(ifnull(age,20)) from student; select count(age) from student;-- 如果没有就不记录 select count(id) from student; -- 我们一般选用主键来统计个数 select max(age) from student;select min(age) from student;select sum(age) from student;select avg(age) from student;

3. 分组查询

group by 之后就是两个不同的组别了,他们不能再去查看一个独立的个体了。

分组之后查询的字段:分组字段、聚合函数。where 和 having 的区别?
 where 在分组前限定,having 在分组之后限定;where 不符合条件的不参与分组,having 不符合条件不会显示;只有 having 可以后跟聚合函数判断。

select sex,count(name) from employee group by sex having count(name) select sex,count(name) from employee where name = 张四 group by sex ;

4. 排序查询

limit 是一个 MySQL 的方言,用于分页

SELECT * FROM student LIMIT 0,5; -- 第 1 页,从 0 索引开始,读 5 个数据 SELECT * FROM student LIMIT 7,10; -- 第 2 页,从 7 索引开始(第 8 个数据),读 10 个数据

四、约束约束:主键约束:primary key 非空约束:not null 唯一约束:unique 外键约束:foreign key1. 非空约束:not null

-- 建表时添加非空约束:create table employee(name char(30),
 sex char(8) not null
 alter table employee modify sex char(8) not null; -- 添加非空约束
 alter table employee modify sex char(8); -- 破除非空约束

mysql 基本操作有那些

2. 唯一约束

只可以有一个 null 值,不能再多了;
删除约束只可以用 drop index 来删除 unique 约束

-- 建表时添加唯一约束:create table employee(name char(30),
 sex char(8),score int unique -- 分数要唯一
 -- 添加唯一约束 alter table employee modify name char(8) unique;
 -- 破除唯一约束 -- alter table employee modify sex char(8); 不可用 -- 破除 name 身上的 unique 约束用 drop index 除去索引 alter table employee drop index name;

实例操作:

mysql 基本操作有那些
mysql 基本操作有那些

3. 主键约束:primary key

一个表只有一个 primary key,非空且唯一
做记录的唯一标识,相当于 index

-- 建表时添加主键约束:create table employee(
 id int primary key, -- 给 id 加上主键约束
 name char(30),
 -- 添加唯一约束 alter table employee modify id int primary key;
 -- 破除唯一约束 -- alter table employee modify id int; 不可用!-- 破除 id 身上的 primary key 约束只能用 drop primary keyalter table employee drop primary key;

4. 自动增长:auto_increment

只对数值有用,而且一般可以放给主键做自动增长

-- 建表时添加 auto_increment:create table employee(
 id int auto_increment, -- 给 id 加上 auto_increment
 name char(30),
 -- 添加 auto_increment,自动从 1 开始 alter table employee modify id int auto_increment;-- 设置初值 alter table employee auto_increment = 100;
 -- 破除 auto_incrementalter table employee modify id int;

感谢各位的阅读!关于 mysql 基本操作有那些就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到吧!

向 AI 问一下细节

丸趣 TV 网 – 提供最优质的资源集合!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-12-18发表,共计4527字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)