美文网首页
MySQL小结

MySQL小结

作者: 末日携手的半阳 | 来源:发表于2018-01-08 22:48 被阅读8次

    1.MySQL安装包分类:

    一种是msi格式的,一种是zip格式的。

    msi格式的需要安装,不用配置环境变量。

    zip格式的免安装,需要配置环境变量。

    2.安装初始化mysql后,默认几个库介绍

    +--------------------+

    | Database          |

    +--------------------+

    | information_schema |

    | mysql              |

    | performance_schema |

    | test              |

    +--------------------+

    information_schema信息数据库

    mysql核心数据库,主要负责存储数据库的用户、权限设置、关键字等

    performance_schema性能优化的引擎

    test是一个完全的空数据库,没有任何表,用于测试,可以删除。

    3.常见错误

    Unknown column 'id' in 'where clause'

    id字段不存在,字段id名可能写错了。

    check the manual that corresponds to your MySQL server version for the right   

    syntax to use near 'int(20)' at line 1

    检查与MySQL服务器版本对应的手册,以便正确使用“int(20)”在第1行

    4.基本指令练习

    #查询已知DB名

    show databases

    #删除test1

    drop database test1

    #创建数据库

    create database test1;

    #查看正在使用的DB

    select database();

    #使用test1

    use test1;

    #查询表格

    show table

    #创建表users

    create table users(

    sid int(10) primary key auto_increment,

    sname varchar(20),

    sex char,

    age int(10),

    tele int(20),

    addre varchar(20)

    );

    #对表结构进行操作

    #增加新列

    alter table users add addre1 varchar(20);

    #在第一个位置添加

    ALTER TABLE users ADD uid VARCHAR(20) first;

    #在指定位置之后添加

    ALTER TABLE users ADD addre2 VARCHAR(20) after addre1;

    #删除列

    alter table users drop addre1

    #修改列

    alter table users change addre2 addres varchar(20);

    alter table users modify tele text;

    #查询表结构

    DESC users

    #对表数据进行操作crud

    #增加数据

    insert into users(sid,sname,sex,age,tele,addre) values(1,"舒畅",'女',30,16666666666,"吉林省吉林市");

    INSERT INTO users(sid,sname,sex,age,tele,addre) VALUES(2,"刘亦菲",'女',30,17777777777,"湖北省武汉市");

    INSERT INTO users(sid,sname,sex,age,tele,addre) VALUES(3,"李易峰",'男',30,18888888888,"四川省成都市");

    INSERT INTO users(sid,sname,sex,age,tele,addre) VALUES(4,"吴亦凡",'男',27,19999999999,"广东省广州市");

    INSERT INTO users(sid,sname,sex,age,tele,addre) VALUES(5,"迪丽热巴",'女',18,16666666666,"吉林省吉林市");

    #查询数据

    SELECT * FROM users;

    #修改数据

    UPDATE users SET sname="李晨" WHERE sid =5;

    DESC users;

    #删除数据

    delete from users where id=5;

    5.表结构的关系

    #多对多 学生和课程的关系 需要建立中间表

    CREATE TABLE student(

    sId INT(5),

    sName VARCHAR(20)

    );

    CREATE TABLE course(

    cId INT(5),

    cName VARCHAR(20)

    );

    SELECT * FROM student;

    #需要建立中间表stuCourse

    CREATE TABLE stuCourse(

    sId INT(5),#学生表id

    cId INT(5),#课程表id

    scId INT(5)#中间表id

    );

    SHOW TABLES;

    INSERT INTO student VALUES(1,"舒畅");

    INSERT INTO student VALUES(2,"刘亦菲");

    INSERT INTO student VALUES(3,"李易峰");

    INSERT INTO student VALUES(4,"吴亦凡");

    SELECT * FROM course;

    INSERT INTO course VALUES(1,"C语言");

    INSERT INTO course VALUES(2,"C++语言");

    INSERT INTO course VALUES(3,"PHP语言");

    INSERT INTO course VALUES(4,"Javascript脚本语言");

    INSERT INTO stuCourse VALUES(1,1,1);

    INSERT INTO stuCourse VALUES(1,2,2);

    INSERT INTO stuCourse VALUES(1,3,3);

    INSERT INTO stuCourse VALUES(1,4,4);

    INSERT INTO stuCourse VALUES(2,1,5);

    INSERT INTO stuCourse VALUES(2,2,6);

    INSERT INTO stuCourse VALUES(2,3,7);

    INSERT INTO stuCourse VALUES(2,4,8);

    INSERT INTO stuCourse VALUES(3,1,9);

    INSERT INTO stuCourse VALUES(3,2,10);

    INSERT INTO stuCourse VALUES(3,3,11);

    INSERT INTO stuCourse VALUES(3,4,12);

    INSERT INTO stuCourse VALUES(4,1,13);

    INSERT INTO stuCourse VALUES(4,2,14);

    INSERT INTO stuCourse VALUES(4,3,15);

    INSERT INTO stuCourse VALUES(4,4,16);

    SELECT * FROM student;

    #查看下舒畅都选了那些课程

    SELECT * FROM student s INNER JOIN stuCourse sc ON s.`sId` = sc.`sId`

    INNER JOIN course c ON c.`cId`=sc.`cId` WHERE sName = "舒畅";

    #查看下刘亦菲都选了那些课程

    SELECT * FROM student s INNER JOIN stuCourse sc ON s.`sId` = sc.`sId`

    INNER JOIN course c ON sc.`cId` = c.`cId` WHERE sName = "刘亦菲";

    #查看下C语言都被谁选了

    SELECT * FROM course c INNER JOIN stuCourse sc ON sc.`cId`=c.`cId`

    INNER JOIN student s ON sc.`sId` = s.`sId` WHERE cName = "C语言";

    相关文章

      网友评论

          本文标题:MySQL小结

          本文链接:https://www.haomeiwen.com/subject/qvrinxtx.html