首页
统计
邻居
留言
关于
Search
1
彩虹商城系统开发API文档
4,329 阅读
2
IntelliJ IDEA 报错TextMate bundle load error: Bundle kotlin can't be registered
3,747 阅读
3
使用RaiDrive将网盘映射为本地磁盘
2,175 阅读
4
谷歌浏览器 Google Chrome 69.0.3497.100 正式稳定版、测试版及开发版本大全
2,133 阅读
5
抖音、小红书、快手 免费三网解析去水印小工具
2,051 阅读
精选推荐
源码分享
软件下载
影视资源
经验教程
模板插件
Emlogo
Wordpress
浮夸小生。
情感杂文
趣味生活
影视后期
Java学习笔记
登录
Search
标签搜索
个人分享
Wordpress
浮夸小生。
Wordpress教程
Java
PHP
Wordpress优化
Java笔记
网络技巧
网站
CDN
Windows
又拍云
教程
浏览器
IntelliJ IDEA
html
建站教程
微信
情感杂文
浮夸小生。
累计撰写
83
篇文章
累计收到
220
条评论
首页
栏目
精选推荐
源码分享
软件下载
影视资源
经验教程
模板插件
Emlogo
Wordpress
浮夸小生。
情感杂文
趣味生活
影视后期
Java学习笔记
页面
统计
邻居
留言
关于
搜索到
1
篇与
MySql
的结果
2021-10-07
Mysql数据库基础操作-笔记
CRUDDDL(操作数据库)R(Retrieve):查询查询所有数据库的名称:show databases;查看某个数据库的字符集(数据库编码如:gbk等):show create database //数据库名称; 返回信息 例如: CREATE DATABASE `student` /*!40100 DEFAULT CHARACTER SET utf8 */创建数据库:create database //数据库名称; create database if not exists 数据库名称; //创建数据库前判断一下该数据库是否存在,没有则创建 create database 数据库名称 character set //编码名称; 创建数据库,并且指定编码格式汇总:create database if not exists 数据库名称 character set 编码名称; //创建数据库前判断一下该数据库是否存在,没有则创建并且指定编码格式创建数据库U(Update):修改修改数据库的字符集: alter database 数据库名称 character set 编码名称;删除数据库:drop database 数据库名称; drop database if exists 数据库名称; 判断数据库是否存在,存在则删除;使用数据库: 查询当前正在使用的数据库名称:select database(); 使用数据库:use 数据库名称;DBL(操作表)1.C(create):创建create table 表名( 列名1 数据类型1, 列名2 数据类型2, ... 列名n 数据类型n ); //注意:最后一列,不需要加逗号(,) create table 表名2 like 表名1; //复制一份表1 到表2;数据类型:1.int:整数类型age int;3.double:小数类型;score double(5,2) //小数最多有五位,小数点后保留2位小数。3.date:日期,只包含年月日, yyyy-MM-dd;4.datatime:日期,包含年月日时分秒,yyyy-MM-dd HH:mm:ss5.timestamp:时间戳类型 包含年月日时分秒,yyyy-MM-dd HH:mm:ss *如果将来不给这个字段赋值,或赋值为Null,则默认使用系统时间,来自动赋值。6.varchar:字符串name varchar(20):姓名最大20个字符 zhangsan 8个字符 张三 2个字符创建表create table student( id int, name varchar(32), age int, score double(4,1), birthday date, insert_time timestamp );2.R(Retrieve):查询show tables; //查询某个数据库中所有的表的名称 desc 表名称; //查询表结构3.U(Update):修改 1.表名alter table 表名 rename to 新表名; 2.修改表的字符集alter table 表名 character set 编码名; //修改字符集 show create table 表名; //查看表的字符集 3.添加一列 alter table 表名 add 列名 数据类型;4.修改列名称 类型 alter table 表名 change 要修改的列名 新的列名 数据类型; 只修改类型: alter table 表名 modify 要修改的列名 数据类型;5.删除列 alter table 表名 drop 要删除的列名;4.D(De lete)drop table 表名; drop table if exists 表名;DML:增删改表中数据 1.添加数据: *语法: insert into 表名(列名1,列名2,....,列名n) values(值1,值2...值3){message type="error" content="*注意: 1.列名和值要一一对应。 2.如果表名后,不定义列名,则默认给所有的列添加值, insert into 表名 values(值1,值2...值n); 3.除了数字类型,其他类型需要引号(单双)引起来 "/} 2.删除数据 *语法:*delete from 表名 where 条件;{message type="error" content="*注意: 如果不加条件,则删除表中所有的记录"/}truncate table 表名; //删除表,然后在创建一个一模一样的空表 3.修改数据 *语法:update 表名 set 表名 列名1 =值1,列名2 = 值2,...[where 条件]{message type="error" content="* 注意: * 如果不加条件,会将表中所有的记录都将修改"/} DQL:查询表中的数据:select * from 表名; 1.语法:select(查询) 字段列表 from 表名列表 where 条件列表 group by 分组字段 having 分组之后的条件 order by 排序 limit 分页限定 2.基础查询: 1.多个字段的查询 2.去除重复select distinct 字段名 from 表名; 3.计算列SELECT 字段名,字段名,字段名,字段名+字段名 FROM student; SELECT 字段名,字段名,字段名,字段名 + IFNULL(字段名,0) FROM student; 4.起别名SELECT 字段名,字段名 别名,字段名 别名,字段名 + IFNULL(字段名,0) AS 别名 FROM student; 3.条件查询: 1.where子句后跟条件 2.运算符 *>、<、<=、>=、=、<> *BETWEEN...AND *IN(集合) *LIKE:模糊查询 *——:单个任意字符 *%:多个任意字符 *IS NULL *and 或 && *or 或 || *not 或 !SELECT*FROM student WHERE age > 20; SELECT*FROM student WHERE age < 20;等 SELECT * FROM student WHERE age >= 20 && age <= 30; // 年龄在 20-30之间 SELECT * FROM student WHERE age >= 20 AND age<= 30; // 年龄在 20-30之间 简化写法: SELECT * FROM student WHERE age BETWEEN 20 AND 30; // 年龄在 20-30之间 //查询年龄22岁,18岁,25岁 SELECT * FROM student where age=22 or age=18 or age=25; 简化写法: SELECT * FROM student WHERE age IN (22,18,25); 查询成绩为NULL的 SELECT * FROM student WHERE english IS NULL; 查询成绩不为NULL的 SELECT * FROM student WHERE english IS NOT NULL; *LIKE:模糊查询 SELECT * FROM student WHERE english IS NULL; -- 查询姓马的 SELECT * FROM student WHERE NAME LIKE "马%"; -- 查询第二个字是化的 SELECT * FROM student WHERE NAME LIKE "___腾%"; -- 查询名字是三位数的 SELECT * FROM student WHERE NAME LIKE "___"; -- 查询名字中包含马的 SELECT * FROM student WHERE NAME LIKE "%马%";{message type="info" content=" 1.DQL:查询语句 1.排序查询 2.聚合函数 3.分组查询 4.分页查询 2.约束 3.多表之间的关系 4.范式 5.数据库的备份和还原"/}DQL:查询语句 1. 排序查询 语法: roder by 子句 order by 排序字段 排序方式1,排序字段2 排序方式2.. 排序方式 : ASC : 升序,默认的。 SELECT * FROM student ORDER BY math ASC DESC : 降序 SELECT * FROM student ORDER BY math DESC {message type="error" content="注意:如果有多个排序条件,则当前的条件值一样时,才会判断第二个条件SELECT * FROM student ORDER BY math ASC, english ASC"/} 2. 聚合函数:将一列数据作为一个整体,进行纵向的计算。 1. count:计算个数 1. 一般选择非空的列:主键 2. count(*) *SELECT COUNT(IFNULL(english,0)) FROM student; 2. max:计算最大值 3. min:计算最小值 4. sum:计算和 5. avg:计算平均值 * 注意:聚合函数的计算,排除null值 解决方法: 1. 选择不包含非空的列进行计算 2. IFNULL函数 3.分组查询: 1. 语法:group by 分组字段 2. 注意: 1. 分组之后查询的字段:分组字段,聚合函数 2. where 和 having 的区别? 1. where 在分组之前进行限定,如果不满足条件,则不参与分组,having在分组之后进行限定,如果不满足结果,则不会被查询出来 2. where 后不可以跟聚合函数,having可以进行聚合函数的判断; *SELECT sex,AVG(math),COUNT(id) FROM student GROUP BY sex; *SELECT sex,AVG(math),COUNT(id) FROM student WHERE math > 70 GROUP BY sex HAVING COUNT(id)>2; 4.分页查询 1. 语法:limit 开始的索引,每页查询的条数; 2. 公式:开始的索引 = (当前的页码 -1)* 每页的条数 3. 分页操作是一个"方言"约束 * 概念: 对表中的数据进行限定,保证数据的正确性、有效性和完整性。 * 分类: 1. 主键约束:primarykey 2. 非空约束:not null 3. 唯一约束:unique 4. 外键约束:foregin key * 非空约束:not null 1. 创建表时添加约束 CREATE TABLE stu( id INT, NAME VARCHAR(20) NOT NULL ); 2. -- 删除 name的约束 ALTER TABLE stu MODIFY NAME VARCHAR(20) 3. -- 创建表后添加约束 ALTER TABLE stu MODIFY NAME VARCHAR(20) NOT NULL * 唯一约束:unique 1. 创建表时添加唯一约束 1. CREATE TABLE stu( id INT, phone_number VARCHAR(20) UNIQUE ); 2. 删除唯一约束 ALTER TABLE stu DROP INDEX phone_number; 3. 创建表后,添加唯一约束 ALTER TABLE stu MODIFY phone_number VARCHAR(20) UNIQUE * 主键约束:primarykey 1. 创建表时添加主键 CREATE TABLE stu( id INT PRIMARY KEY , NAME VARCHAR(20) ); 2. 删除主键 ALTER TABLE stu DROP PRIMARY KEY; 3. 创建完成之后添加主键 ALTER TABLE stu MODIFY id INT PRIMARY KEY; 4. 自动增长: * 概念:如果某一列时数值类型的,使用 auto_increment 可以完成值的自动增长 * 创建表添加自动增长 CREATE TABLE stu( id INT PRIMARY KEY AUTO_INCREMENT, NAME VARCHAR(20) ); * -- 删除自动增长 ALTER TABLE stu MODIFY id INT * -- 添加自动增长 ALTER TABLE stu MODIFY id INT AUTO_INCREMENT * 外键约束:foreign key 1. 在创建表时,可以添加外键 * 语法: creat table 表名( ... 外键列 constraint 外键名称 foreign key (外键列名称) references 主表名称(主表列名称) ) 2. 删除外键 * ALTER TABLE employee DROP FOREIGN KEY emp_dept_fk; 3. 创建表之后,添加外键 * ALTER TABLE employee ADD CONSTRAINT emp_dept_fk FOREIGN KEY (dep_id) REFERENCES department(id) 4. 级联操作 *ALTER TABLE employee ADD CONSTRAINT emp_dept_fk FOREIGN KEY (dep_id) REFERENCES department(id) ON UPDATE CASCADE DELETE CASCADE 1. 级联更新:ON UPDATE CASCADE 2. 级联删除:ON DELETE CASCADE
2021年10月07日
482 阅读
0 评论
1 点赞