iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >mysql(五)
  • 798
分享到

mysql(五)

mysql(五) 2015-03-31 09:03:41 798人浏览 绘本
摘要

1 Navicat无法连接数据库的解决办法 打开【win+r】输入CMD进入命令行界面,然后输入 alter user "root"@"localhost" identified by "密码" passWord expire n

mysql(五)

1 Navicat无法连接数据库的解决办法

打开【win+r】输入CMD进入命令行界面,然后输入

alter user "root"@"localhost" identified by "密码" passWord expire never;

alter user "root"@"localhost" identified with Mysql_native_password by "密码";

flush privileges;

记得将密码替换为mysql 的密码。

2.DDL数据库定义语言

2-1数据库

代码块

查看有哪些数据库:show databases;

创建数据库ec14:   create database ec14;

使用数据库ec14:    use ec14;

修改数据库ec14:   alter database ec14;

删除数据库ec14:    drop database ec14;

2-2表(使用了一个数据库,use ec14;)

代码块
查看哪些表:show tables;

创建表: create database student(
id int primary key auto_increment,
name varchar(20) not null
)

更新表: alter table student;

查看表结构: desc student;

删除表: drop table student;

查询表:select * from student;

修改表名:rename  table student to new_student;

2-3 列(字段)

代码块

添加一列(年龄)    :alter table student add age  int not null;

修改字段类型:     alter table student modify age bigint;

给字段重命名:   alter table student change age new_age int;

删除一个字段:    alter table studnet drop age;

3 DML数据库操作语言

代码块

向表中插入数据: insert into student values('wangsiyu',18),('alex',27)

插入指定列   insert into student(id,stu_name) value(1,'wangsiyu');

更新列 UPDATE student set stu_email='736055802@qq.com' where stu_name ='wangsiyu';

删除列 truncate table student;

删除这列数据 delete from student where id =1;

4 DQL数据查询语言

代码块
1. 查询指定列:select name,age from student

2. is null/ is not null

3. 去重   select distinct name from student

4. 查询年龄和成绩的和,如果为空则为0:

select ifnull(age,0)+ifnull(score,0) as total from student

5. 重命名 as

6. 模糊查询  like_     like%

7. 排序   order by age asc/desc

8. 聚合函数  count()/max()/min()/sum(0/avg()

9. 分组查询 group by

按照性别分组:

select gender,group_concat(name) from employee group by gender;

注意:select 后面跟的组名一般都出现在group by后出现

where和having区别:

where不用聚合函数,针对分组前的结果,处理后的结果才参与下一步分组。

having只针对group by 分组后的结果来进行筛选和处理,后面跟聚合函数。

10:查询工资大于2000,工资总和大于60000部门以及工资和,按照部门分组并按照总工资和降序排列

select  salary ,dept ,sum(dept) from employee where salary>2000 group by dept having sum(dept)>60000 order by sum(dept) desc;

sql语句的执行顺序:

from-where-group by-having-select-order by-limit

11.分页的操作

select * from employee limit (curpage-1)*pagesize,pagesize;

5 MYSQL数据库完整性

完整性主要包括实体完整性,参数完整性,域完整性。

5-1主键约束(唯一,不能为空)

代码块:创建主键的三种方式:

主键创建的第一种方式:

CREATE TABLE class (

class_id int PRIMARY KEY,

class_name varchar(10)

);



主键创建第二种方式:

CREATE TABLE class (

class_id int ,

class_name varchar(10),

primary key(class_id)

);



主键添加第三种方式:

ALTER TABLE class ADD CONSTRAINT PRIMARY key (class_id);

5-2唯一约束(不能重复,但是可以为空)

唯一约束创建:与主键的三种创建方式一致。

5-3自动增长列(auto_increment)

代码块
CREATE TABLE class (

class_id int PRIMARY KEY auto_increment ,

class_name varchar(10)

);

向自动增长插入一条数据(需要指定列明):insert into class(name) VALUE ('asdlfjl');

5-4 域完整性:针对单元格。有3种:数据类型约束,默认值约束,非空约束

代码块
CREATE TABLE class (

class_id int PRIMARY KEY auto_increment ,

class_name varchar(10) not null,

class_gender varchar(1) DEFAULT '男');

5-5参照完整性:表与表之间的一种关系

主键和外键字段类型必须一致。

数据库类型必须是innoDB

外键中的值必须先存在于主键中的值

代码块
创建外键第一种:班级表和学院表

CREATE TABLE class (

id int PRIMARY key ,

class_name varchar(20),

class_college int,

CONSTRAINT class_college_fk FOREIGN key class(class_college) REFERENCES college(id));

6.关于mysql数据库视图

视图:select查询结果的一个虚拟表。

6-1 创建视图

代码块
EATE VIEW stu_salary_view

as

SELECT * from student WHERE salary>5000 with CHECK option;

with CHECK option 表示修改视图时候,salary必须大于5000,否则无法保存。

6-2使用视图

代码块
SELECT * from  stu_salary_view  WHERE stu_age=24;

6-3替换原来的视图

覆盖原来的视图

代码块
CREATE OR REPLACE VIEW stu_salary_view

as

(SELECT * from student )

6-4删除视图

DROP VIEW stu_salary_view;

7创建一个学生的数据库

代码块
-- 创建学院表

CREATE TABLE  college(

  id  int(11)  NOT NULL  AUTO_INCREMENT,

  name    varchar(30) NOT NULL,

  PRIMARY KEY (id)

) ;

-- 创建表班级

CREATE TABLE class (

  id int(11) NOT NULL AUTO_INCREMENT,

  name  varchar(30) NOT NULL,

  belong_college  int(11) DEFAULT NULL,

  PRIMARY KEY (id),

  CONSTRAINT class_college_fk  FOREIGN KEY (belong_college) REFERENCES  college(id)

) ;

-- 创建表班级

CREATE TABLE student(

id int PRIMARY KEY ,

stu_name varchar(20) not null,

age int not null,

gender varchar(6) not null,

number int not null,

birth datetime check(birth > '1990-1-1')

stu_class int,

CONSTRAINT student_class_fk FOREIGN KEY (stu_class) REFERENCES class(id)

);

-- 创建老师表

create table teacher

(

id int  auto_increment primary key,

tea_name varchar(20) not null,

tea_class int,

  CONSTRAINT teacher_class_fk FOREIGN KEY (tea_class) REFERENCES class(id)

);

-- 创建课程表

create table course

(

id int auto_increment primary key,

cou_name varchar(50) not null,

cou_time tinyint check(cou_time>0 and cou_time<100),

cou_teacher int not null,

  CONSTRAINT course_teacher_fk FOREIGN KEY (cou_teacher) REFERENCES teacher(id)

);

-- 创建成绩表

create table score

(

score_course int,

  score_number int,

score int,

  CONSTRAINT score_course_fk FOREIGN KEY(score_course) REFERENCES course(id),

  CONSTRAINT score_student_fk FOREIGN KEY(score_number) REFERENCES student(id)

);

别跑,点个赞再走

您可能感兴趣的文档:

--结束END--

本文标题: mysql(五)

本文链接: https://www.lsjlt.com/news/3466.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • MySQL-索引详解(五)
    ♥️作者:小刘在C站 ♥️个人主页: 小刘主页  ♥️努力不一定有回报,但一定会有收获加油!一起努力,共赴美好人生! ♥️学习两年总结出的运维经验,以及思科模拟器全套网络实验教程。专栏:云计算技术 ♥️小刘私信可以随便...
    99+
    2023-09-04
    数据库 mysql 运维
  • mysql基础五 游标
    一、游标的定义: create procedure p12()begin declare row_name varchar(20);declare row_num int; declare myC...
    99+
    2024-04-02
  • mysql(五)主从配置
     目录 前言 一、MySQL Replication概述 二、MySQL复制类型 三、部署MySQL主从异步复制 总结 前言 为了实现MySQL的读写分离,可以使用MySQL官方提供的工具和技术...
    99+
    2023-10-27
    mysql 数据库 linux 运维 服务器
  • MySQL入门(五) MySQL中的索引详讲
          序言          之前写到MySQL对表的增删改查(查询最为重要)后,就感觉MySQL就差不多学完了,没有想继续学下去的心态了,原因可能是由于别人的影响,觉得对于MySQL来说,知道了一些...
    99+
    2024-04-02
  • MySQL——select_type详解——六月十五
    select_type:查询的类型。 SIMPLE:简单 SELECT,不需要使用 UNION 操作或子查询。PRIMARY:如果查询包含子查询,最外层的 SELECT 被标记为 P...
    99+
    2023-10-10
    mysql sql 数据库 select_type
  • mysql基础(五)查询缓存
    缓存的有缺点     1、如果命中缓存,直接从缓存中返回,减少分析和执行SQL语句的过程,提高查询效率     2、缓存会带来...
    99+
    2024-04-02
  • 【MySQL数据库 | 第十五篇】事务
        目录    前言:  介绍事务:  控制事务:  事务四大特性:  并发事务问题:  事务隔离级别: 总结:    前言: 这章我们将进入到MySQL基础篇的最后一章:事务,希望大家可以坚持下去,跟着我一起走完MySQL的学...
    99+
    2023-09-03
    数据库 mysql java
  • mysql中insert语句的五种用法
    文章目录 前言一、values参数后单行插入二、values参数后多行插入三、搭配select插入数据四、复制旧表的信息到新表五、搭配set插入数据总结 前言 insert语句是标准sq...
    99+
    2023-09-02
    mysql 数据库 sql
  • MySQL五步走JDBC编程全解读
    目录一、数据库编程的必备条件二、Java的数据库编程:JDBC三、JDBC工作原理四、开发环境搭建五、MySQL中的JDBC编程1、五步流程2、添加信息3、查询信息4、删除信息5、修...
    99+
    2024-04-02
  • 【SQL应知应会】表分区(五)• MySQL版
    欢迎来到爱书不爱输的程序猿的博客, 本博客致力于知识分享,与更多的人进行学习交流 本文收录于SQL应知应会专栏,本专栏主要用于记录对于数据库的一些学习,有基础也有进阶,有MySQL也有Oracle 分区表 • MySQ...
    99+
    2023-08-16
    sql mysql 数据库 oracle 大数据 面试 数据分析
  • mysql中五种包含查询的方法
    场景:数据库表字段存的是一个字符串,用“,”分隔,查询的sql需要匹配其中某一段字符串 测试的表数据如下图: 方法1:使用LIKE LIKE关键字用于模糊匹配,可以在查询中使用通配符进行匹配。%表示匹配任意多个字符,_表示匹配一个字符。 ...
    99+
    2023-08-20
    mysql 数据库
  • MySQL的数据类型有哪五大类
    这篇文章主要介绍MySQL的数据类型有哪五大类,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!一、MySQL的数据类型主要包括以下五大类:整数类型:BIT、BOOL、TINY INT、...
    99+
    2024-04-02
  • 五分钟带你搞懂MySQL索引下推
    目录什么是索引下推索引下推优化的原理索引下推的具体实践没有使用ICP使用ICP索引下推使用条件相关系统参数总结如果你在面试中,听到MySQL5.6”、“索引优化” 之类的词语,你就要...
    99+
    2024-04-02
  • MySQL查看版本的五种方法总结
    目录方法一:登录 mysql方法二:@@version 变量方法三:VERSION() 函数方法四:SHOW VARIABLES 语句方法五:STATUS 命令总结MySQL 提供了几种用于查看服务器版本的方法,本文给大...
    99+
    2023-02-28
    mysql查看版本命令行 mysql数据库查看版本 怎么查mysql的版本
  • python+django+mysql项目实践五(信息搜索)
    python项目实践 环境说明: Pycharm 开发环境 Django 前端 MySQL 数据库 Navicat 数据库管理 信息搜素 输入内容进行搜索,内容有文本类和时间类 文本类需要模糊搜索,包...
    99+
    2023-09-09
    python django mysql
  • 【MySQL进阶之路丨第五篇】MySQL Workbench 的安装与配置
    自我介绍 我是秋说,研究 人工智能、大数据 等前沿技术,传递 MySQL、Java、Python 等语言知识。 💬主页链接:秋说的博客 📆 学习专栏推荐: 人工智...
    99+
    2023-08-31
    mysql 数据库 sql mysql进阶之路 mysql workbench
  • 如何理解MySQL的这五个私有语句
    如何理解MySQL的这五个私有语句,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。MySQL是非常流行的关系型数据库,虽然拥有的SQL语法大...
    99+
    2024-04-02
  • 【MySQL新手到通关】第五章 多表查询
    文章目录 1. 笛卡尔积1.1 避免笛卡尔积1.2 笛卡尔积(或交叉连接)的理解1.3 案例分析与问题解决笛卡尔积的错误会在下面条件下产生: 2. 多表查询分类讲解2.1 多表联查分类方式1:2.2 多表联查分类方式2:2.3 ...
    99+
    2023-08-18
    mysql 数据库 java
  • mysql四舍五入取整的方法是什么
    在 MySQL 中,可以使用 ROUND 函数进行四舍五入取整操作。ROUND 函数的语法如下: ROUND(number, dec...
    99+
    2024-05-08
    mysql
  • MySQL系列之十五 MySQL常用配置和性能压力测试
    一、MySQL常用配置 以下所有配置参数以32G内存的服务器为基 1、打开独立的表空间 innodb_file_per_table = 1 2、MySQL服务所允许的同时会话数的...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作