• Mysql数据库技术


    1.数据库MySQL分页时用的语句

    使用limit关键字。Select * from 表名 where 条件 limit 开始位置,结束位置。通过动态的改变开始和结束位置的值来实现分页。

    2.根据你以往的经验简单叙述一下MYSQL的优化

    a、尽可能使用更小的整数类型.(mediumint就比int更合适).   b、尽可能的定义字段为not null,除非这个字段需要null.

    c、如果想要清空表的所有记录,建议用truncate table tablename而不是delete from tablename. d、避免出现SELECT * FROM table 语句,要明确查出的字段。

    e、小心使用 IN 和 OR,需要注意In集合中的数据量。建议集合中的数据不超过200个。

    3.有两张表;请用SQL查询,所有的客户订单日期最新的前五条订单记录。

    客户信息表(c CUSTOM)有以下字段:id、name、mobile

    客户订单表(C_ORDER)有以下字段:id、custom_id、commodity、count、order _date Select * from c_order order by order_date desc limit 0,5;

    4.数据库设计中,一对多如何处理?

    数据库外键关系表示的其实是一种一对多关系,所以处理一对多时可以使用外键。

    5.数据库设计中,多对多一般如何处理?

    引入中间表,把一个多对多表示为两个一对多。

    6.MySQL数据库中,常用的数据类型

     

    类型名称

    说明

    int(integer)

    整数类型

    double

    小数类型

    decimal(m,d)

    指定整数位与小数位长度的小数类型

    date

    日期类型,格式为yyyy-MM-dd,包含年月日,不包含时分秒

    datetime

    日期类型,格式为yyyy-MM-dd HH:mm:ss,包含年月日时分秒

    timestamp

    日期类型,时间戳

    varchar(M)

    文本类型,M为0~65535之间的整数

    7.Student学生表(学号,姓名、性别、年龄、组织部门),Course      课程表(编号,课程名称),Sc选课表(学号,课程编号,成绩)

    a、写一个SQL语句,查询选修了计算机原理的学生学号和姓名

    select 学号,姓名 from Student where 学号 in(select 学号 from Sc where 课程编号 in(Select 课程编号 from Course where 课程名称 = ‘计算机原理’))

    b、写一个SQL语句,查询“周星驰”同学选修了的课程名字

    select 课程名称 from Course where 编号 in (select Sc.课程编号 from Student,Sc where Student.姓名=’周星驰’ and Student.学号 = Sc.学号)

    8.表结构说明

    下面是学生表的(Student)的结构说明

    字段名称

    字段解释

    字段类型

    字段长度

    约束

    s_id

    学号

    字符

    10

    PK

    s_name

    学生姓名

    字符

    50

    Not null

    s_age

    学生年龄

    数值

    3

    Not null

    s-sex

    学生性别

    字符(男:1女:0)

    1

    Not null

    下面是教师表(Teacher )的结构说明

    字段名称

    字段解释

    字段类型

    字段长度

    约束

    t_id

    教师编号

    字符

    10

    PK

    t_name

    教师名字

    字符

    50

    Not null

    下面是课程表(Course)的结构说明

    字段名称

    字段解释

    字段类型

    字段长度

    约束

    c_id

    课程编号

    字符

    10

    PK

    、、c_name

    课程名字

    字符

    50

    Not null

    t_id

    教师编号

    字符

    10

    Not null

    下面是成绩表(SC)的结构说明

    字段名称

    字段解释

    字段类型

    字段长度

    约束

    s_id

    学号

    字符

    10

    PK

    c_id

    课程编号

    字符

    10

    Not null

    score

    成绩

    数值

    3

    Not null

    9.查询“001”课程比“002”课程成绩高的所有学生的学号;

    select a.s_id from (select s_id,score from SC where C_ID='001') a,(select s_id,scorefrom SC where C_ID='002') b where a.score>b.score and a.s_id=b.s_id;

    10.查询平均成绩大于60分的同学的学号和平均成绩;

    select S_ID,avg(score) from sc group by S_ID having avg(score) >60;

    11.查询所有同学的学号、姓名、选课数、总成绩;

    select Student.S_ID,Student.Sname,count(SC.C_ID),sum(score) from Student left Outer join SC on Student.S_ID=SC.S_ID group by Student.S_ID,Sname

    12.查询姓“李”的老师的个数;

    select count(distinct(Tname)) from Teacher where Tname like '李%';

    13.查询所有课程成绩小于60分的同学的学号、姓名;

    select S_ID,Sname from Student where S_ID not in (select S.S_ID from Student AS S,SC where S.S_ID=SC.S_ID and score>60);

    14.查询至少有一门课与学号为“1001”的同学所学相同的同学的学号和姓名;

    select distinct S_ID,Sname from Student,SC where Student.S_ID=SC.S_ID and SC.C_ID in (select C_ID from SC where S_ID='1001');

  • 相关阅读:
    The new powerful SQL executing schedule monthly or weekly in DB Query Analyzer 7.01
    热烈庆祝自已厉精13年开发的 DB查询分析器 7.01(最新版本) 在中关村在线本月获得近6000次的下载量
    CentOS7下安装GitLab
    DB查询分析器7.01新增的周、月SQL执行计划功能
    Ubuntu环境下Anaconda安装TensorFlow并配置Jupyter远程访问
    Docker学习笔记4: Docker-Compose—简化复杂容器应用的利器
    Docker学习笔记3:CentOS7下安装Docker-Compose
    CentOS7下安装python-pip
    [Flutter] 音频播放插件 audioplayers 的一个路径坑
    解放双手之自动拉取与推送
  • 原文地址:https://www.cnblogs.com/xhna/p/14215693.html
Copyright © 2020-2023  润新知