美文网首页
7.21 MySQL学习总结

7.21 MySQL学习总结

作者: hongXkeX | 来源:发表于2017-07-21 20:23 被阅读105次

    MySQL常用指令:
    1.命令行启动mysql :

    c:/>mysql -h hostname -u root -p
    或 
    c:/>mysql -u root -p root (密码)
    或
    c:/>mysql -uroot -proot (密码)
    

    (windows平台 需要将mysql加入Path环境变量中)

    启动.png

    (-p 后接密码后回车 也可以 回车后输入密码)
    若连接本地数据库 -h hostname 改为 -h localhost 或者省略-h hostname(即为mysql -u root -p)
    若连接远端服务器的数据库 -h hostname 改为 -h + 192.168.X.X (远程服务器的IP地址)

    2.查看mysql的帮助:

    c:/> mysql --help
    
    mysql 帮助.png

    3.查看现在时间:

    select current_date;
    select now();
    
    mysql now() 函数.png mysql current_date 命令.png

    mysql是一个数据库软件 数据库是表的集合
    mysql里面可以有很多数据库(可以理解为很多表的集合)

    4.显示mysql里面有多少数据库:

    show databases;
    
    show databases.png

    5 sql注释语句:

    mysql > -- 注释内容
    

    注意 -- 和注释之间有个空格!

    sql注释.png

    6 创建数据库:
    create database 数据库名称

    mysql > create database mybase;
    
    创建数据库.png

    7 删除数据库:
    drop database 数据库名称:

    mysql > drop database mybase;
    
    删除数据库.png

    8 使用指定的数据库:
    use + 指定的数据库名称

    mysql > use myhive;
    
    使用指定的数据库.png

    9 指定数据库后显示数据库中所有表:

    mysql > show tables;
    
    显示数据库中所有表.png

    Empty set 标识表空

    10 在数据库中创建表:

    创建表.png 创建表.png

    11 查看数据表:

    mysql > show create table test;
    mysql > desc test;
    mysql > describe test;
    

    (test 为一个表名)

    查看数据表方式1.png 查看数据表方式2.png show table.png

    查看表结构:


    desc.png

    12 删除表:

    mysql > drop table test;
    
    删除表.png

    13 查询表数据:

    mysql > select * from test;
    

    (全字段 全表扫描)

    或者:

    mysql > select id,name from test;
    

    (部分字段查询 投影查询)

    查表.png

    条件查询 查id>3的字段:


    QQ图片20170721195558.png

    其他查询注意:


    运算符.png 条件查询.png in关键字.png between and.png 空值查询.png distinct.png like关键字.png 下划线.png

    14 插入记录:

    mysql > insert into test(id,name,age) values(1,'wang',23);
    
    QQ图片20170721194722.png

    或插入部分字段数据:

    mysql > insert into test(id,name) values(1,'wang');
    
    insert into.png

    若插入全部字段可以简写:

    mysql > insert into test values(1,'wang',59);
    
    全部字段简写插入命令.png

    15 更新记录:

    更新1.png 更新2.png
    mysql > update test set grade=11 where id = 2;
    
    更新.png

    16 删除记录:

    mysql > delete from test where id=1;
    
    删除记录.png

    注意,若:

    mysql > delete from test;
    

    则会把所有记录删除,要谨慎!

    小总结:
    CRUD:

    create:
    insert into table_name(field_name,...) values(value,...);
    
    retrieve:
    select id ,... from table_name where id=xxx,...;
    
    update:
    update table_name set id=xxx,... where id=xxx,...;
    
    delete:
    delete from test where ...;
    
    

    MySQL约束:

    1 primary key 主键
    主键特点:不为null 不能重复

    mysql > create table test(id int primary key,...);
    

    2 自增

    mysql > create table test(id int primary key auto_increment,...);
    

    自增是查询到最大值后+1

    3 不能为空 not null:

    mysql > create table test(id int primary key auto_increment, name varchar(20) not null, age int);
    

    4 带条件创建 删除:

    // 带条件创建
    mysql > create database if not exists itcast;
    mysql > create table if not exists test;
    // 带条件删除
    mysql > drop database if exists itcast;
    mysql > drop table if exists test; 
    

    设一个字段为空值:

    update test set name=null where id=3;
    
    设空值.png

    注意:需要在设计表中允许name字段为空 才能在客户端用指令设置空值

    设计表设允许空.png

    设置字段为null后 我们来查询为null的字段:


    null.png

    可见查询 null 比较特殊 不能用:

    mysql > ... where name=null;
    

    而应该:

    mysql > ... where name is null;
    

    来看个特Null情况:


    QQ图片20170722212156.png

    来个段子:
    比如你问我:“那个人叫什么名字”?
    我说:“不知道”。
    不知道 可能是那个人叫不知道,也可能是我真不知道。
    这就是两种Null的区别...

    QQ图片20170722212441.png

    所以要特别注意Null

    拓展:

    使用MySQL命令行执行sql脚本:

    mysql > source d:/java/xxx.sql;
    

    更多内容下载ppt学习:
    http://pan.baidu.com/s/1hs3QDvQ

    相关文章

      网友评论

          本文标题:7.21 MySQL学习总结

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