zoukankan      html  css  js  c++  java
  • mysql

    mysql
    是存储数据库一个仓库,可以存储图片,视频,文字
    常见的数据库
    大型oracle,db2
    中型mysql,sqlserver...
    小型sqlite
    mysql安装和卸载
    停服务mysql
    删除对应的文件夹
    删除注册表(mysql)
    mysql使用
    1:黑窗口
    2:使用工具 navicat
    sql语句分类
    数据定义语言DDL create,drop,alter,truncate
    数据查询语言DQL select
    数据操纵语言DML insert,delete,update
    数据控制功能DCL grant 授权 ,revoke回收
    字段
    主键:primary key
    自增:auto_increment
    空:null
    默认:default
    唯一:unique
    外键:foreign
    ......
    类型
    int
    float
    double
    char 固定长度
    varchar 长度变
    text
    date
    time
    datetime
    ........

    -----创建数据库
    create DATABASE 20201910b
    ---使用数据库
    use 20201910b
    -----创建表
    create table student(
    id int PRIMARY key auto_increment,
    sname VARCHAR(20),
    ssex VARCHAR(2),
    sage int,
    sscore FLOAT(4,2)
    )
    ------修改编码
    alter database 20201910b CHARSET=utf8
    --------新增数据
    ----单条添加
    INSERT into student(id,sname,ssex,sage,sscore) VALUES(1,"于磊","男",24,80.5)
    -----多条添加
    INSERT into student VALUES(2,"于磊1","男",25,90.5),(3,"于磊2","女",22,80),(4,"于磊3","女",19,88)
    ------修改数据
    update 表名 set 字段=修改的数据(name =zhangsan) where 字段=值(id=1)
    UPDATE student set sname='于三十' where id =2
    ------查询(全查,条件查询,模糊查询(_),排序,分组)
    select * from +表名
    select * from student
    -------条件查询
    select * from student where id=1 or id =2
    select * from student where id in(1,2,3,4)
    select * from student where id BETWEEN 1 and 4
    ------模糊查询
    SELECT * from student where sname like '磊%'
    SELECT * from student where sname like '%磊'
    SELECT * from student where sname like '%磊%'
    ------升序
    select * from student ORDER BY sscore
    ----降序
    select * from student ORDER BY sscore desc
    ------分组查询 HAVING + GROUP BY
    select count(*) from student GROUP BY ssex HAVING sum(sscore)>=85

    -----删除------
    ------物理删除+逻辑删除-------
    DELETE from +表名 +where 字段=值
    delete from student where id=2
    ------聚合函数 sum ,avg,max ,min count(),
    select count(sscore) from student
    select avg(sscore) from student
    select max(sscore) from student
    select min(sscore) from student
    select sum(sscore) from student

    多表联查
    内连接 inner join
    外连接 left join ,right join
    全连接 full join (不适用mysql,使用oracle) = left join+ union+right join

    取别名 as 或者是不写
    --------sql语句
    select s.字段,c.字段,,, from student(表1) as s inner join(left join ,right join) class(表2) c on s.字段 = c.字段
    ------内连接
    select s.sname,s.sex,c.classroom from class c INNER JOIN student s on s.sid = c.sid
    SELECT sc.school,c.classroom from school as sc INNER JOIN class as c on sc.cid = c.cid
    ---------外连接
    select s.sname,s.sex,c.classroom from class c left JOIN student s on s.sid = c.sid (左边为主表,右边有则填充,没有用null)
    select s.sname,s.sex,c.classroom from class c RIGHT JOIN student s on s.sid = c.sid (右边为主表,左边有则填充,没有用null)
    ----------全连接(不适用mysql)
    select s.sname,s.sex,c.classroom from class c full JOIN student s on s.sid = c.sid
    -------全连接
    select s.sname,s.sex,c.classroom from class c left JOIN student s on s.sid = c.sid UNION select s.sname,s.sex,c.classroom from class c RIGHT JOIN student s on s.sid = c.sid


    ------多表联查
    select c.classroom,st.sname,st.sex ,sc.school from class as c INNER join student as st on c.sid = st.sid INNER JOIN school as sc on c.cid = sc.cid

    -----子查询(一个表的查询的结果作为另一个表的条件)
    SELECT cid from school where school ='北京'
    SELECT classroom from class where cid=(SELECT cid from school where school ='北京')

  • 相关阅读:
    Spring IoC
    Java软件安装
    Struts(一)
    Struts(二)
    Hibernate(六)
    Hibernate(五)
    Hibernate(二)
    Hibernate(四)
    Hibernate(三)
    Hibernate(一)
  • 原文地址:https://www.cnblogs.com/jinyeshi/p/13602202.html
Copyright © 2011-2022 走看看