• 面试之MySQL基本命令


    既然要操作数据库就从数据库链接写起,包括建库、建表、增删该查字段及约束,删库,删表的数据,以下主要是对我以往面试的总结,欢迎补充!

    一、数据库连接

    1、连接本机(p和密码123456之间无空格)

    mysql -u username -p123456;

    2、远程连接

    mysql  -h 要访问的ip地址 -u username -p123456;

    二、对库的操作

    create database db_name;

    drop database db_name;

    show databases;

    use db_name;

    rename database db_name to new_db_name

    mysqldump -u username -p123456 db_name > 导出的文件名;               #备份

    三、对表的操作

    1、建表/删表/复制表/备份表

    creat table db_name.tb_nane(

      id smallint unsigned auto_increment,

      username varchar(20) not null unique key,

      sex enum("1","2") default "1")

    drop table (if exists) tb_name;

    create table tb_name2 select * from db_name.tb_name;

    mysqldump -u username -p123456 db_name tb_name> 导出的文件名;      

    2、插入数据

    insert into tb_name (col_name1,col_name2)values (值1,值2);

    insert into tb_name.tb_name(username,sex)values("zhang",1);

    insert into tb_name.tb_name values (1,"wang",1),(2,"lili",2),(3,"haha",2);

    3、删除数据

    delete col_name from tb_name where col_name=值;                #删除某条记录

    truncate table tb_name;                                                              #删除所有记录

    4、增加/删除单列

    alter table tb_name add col_name col_defination [first |after col_name];

    alter table tb-name drop col_name;

    5、增加/删除约束

    alter table tb_name add primary key col_name;                      #主键(主键自动为not null;每张表只有一个主键)

    alter table tb_name add unique col_name;

    alter table tb_name add index index_name col_name;

    alter table tb_name drop primary key;

    6、修改约束

     alter table tb_name modify id int unsigned;                          #修改列id的类型为int unsigned 

     alter table tb_name change id sid int unsigned;                 #修改列id的名字为sid,而且把属性修改为int unsigned 

     

    7、查看表结构

    show colums from tb_name;

    desc tb_name;

    8、限制查询返回结果

    1> limit(选出10到20条)<第一个记录集的编号是0> 

     select * from students order by id limit 9,10; 

    2> top选出前十条记录

    select top 10 from students;

    9、MySQL中的外连接,分为左外连接和右连接,即除了返回符合连接条件的结果之外,还要返回左表(左连接)或者右表(右连接)中不符合连接条件的结果,相对应的使用NULL对应。

    select col_name from tb_name1 left join tb_name2 on tb_name1.col=tb_name2.col;

    10、联合字符或者多个列(将列id与":"和列name和"="连接)  

    select concat(id,':',name,'=') from students; 

     

     

    示例,常用命令 ORDER BY    DISTINCT

    select * from table_name where (city='ts' or city='sh') and plat=0 ORDER BY update_time DESC    ### 按照更新时间降序排列

    select id,person,history,time from table_name ORDER BY time ASC    ### 按照更新时间升序排列

    select DISTINCT prio from table_name where isdelete=0 and (type=4 or type=5);        ###对prio字段的值进行去重处理

    select count(DISTINCT prio) from table_name where isdelete=0 and (type=4 or type=5);      ###对prio字段的值进行去重处理后统计数量

  • 相关阅读:
    JavaScript window对象属性和方法
    bzoj1878 [SDOI2009]HH的项链
    bzoj3289 Mato的文件管理
    bzoj2038 [2009国家集训队]小Z的袜子(hose)
    bzoj2333 [SCOI2011]棘手的操作
    bzoj2809 [Apio2012]dispatching
    hdu1512 Monkey King
    免费航班
    bzoj4538 [Hnoi2016]网络
    bzoj3207 花神的嘲讽计划Ⅰ
  • 原文地址:https://www.cnblogs.com/echoqi/p/6379994.html
Copyright © 2020-2023  润新知