zoukankan      html  css  js  c++  java
  • mysql数据库的基本使用命令总结

    mysql数据库是一个常用的关系型数据库


    关系型数据库核心元素有哪些?

     主键:特殊字段,用来唯一标识记录的唯一性
     字段:数据列
     记录:数据行
     数据表:数据行的集合
     数据库:数据表的集合

    安装、启动、停止、重启mysql服务器的命令

     安装:sudo apt-get install mysql-server
     启动:sudo service mysql start
     # 查看进程中是否存在mysql服务 ps ajx|grep mysql
     停止:sudo service mysql stop
     重启:sudo service mysql restart

    mysql 数据库的操作

     
      
    1.连接数据库
      
     mysql -u root -pmysql

     
      不显示密码连接
      
     python@ubuntu:~/Desktop$ mysql -u root -p
      
     Enter password: mysql
     

       
      退出数据库
         
     ctrl+l:清除命令屏幕
      
     quit\exit

    2.创建数据库
     create database 数据库名 charset=utf8;
     ### 创建数据库时一定要记得解决编码问题

    3.查看当前使用的数据库: select database();
      查看所以数据库:  show databases;
      查看当前数据库中所有表: show tabes;
      查看当前表中所有的列: select * from 表名;
      查看表结构:   desc 表名;

    4. 1)创建表需要用到的数据类型:
     整数:  int,bit  #int unsigned:无符号整形  #tinyint unsigned:无符号整形(但范围比较小,一般用于年龄)  #.bit是位数据类型,长度为1字节;int 是整型;bit 实际就是bool类型,只能是0和1,int的是4个字节的整型
     小数:  decimal   #decimal(5,2)表示五位数字,两位小数点
     字符串: varchar,char  #varchar:可变字符串
     日期时间:  date, time, datetime
     枚举类型: enum
     主键:  primary key
     自动增长(增加): atuo_increment
     默认值: default
     不能为空: not null
     外键:  foreign key
    in
       2)表格式:create table 数据表名字(id 无符号整形 主键 自动增长(增加) 不能为空; name 可变字符串(数字/范围) 默认值'';age 无符号整形 默认值0;height 小数;gender 枚举 默认值;foreign key 无符号整形 默认值);
         例如:create table t_students(id int unsigned primary key auto_increment not null,name varchar(10) default '',age tinyint unsigned default 0,height decimal(5,2),gender enum('男','女','中性','保密') default '保密',cls_id int unsigned default 0);

    5.查看创建数据库的语句: show create database 库名
      查看创建表的语句:  show create table 表名

    6.使用数据库:  use 数据库名
      删除数据库:  drop database 数据库名
      删除表:  drop table 表名
      删除表--删除字段(列)alter table 表名 drop 列名

    7.表的修改:

     1) 修改表-添加字段 kouhao (班级口号)
         alter table 表名 add 列名 类型及约束;
         alter table t_classes add kouhao varchar(20) not null default '人生苦短,我用Python';

     2) 修改表-修改字段:重命名版
         alter table 表名 change 原名 新名 类型及约束;
         alter table t_classes change kouhao logo varchar(20);

     3) 修改表-修改字段:不重命名版
         alter table 表名 modify 列名 类型及约束;
         alter table t_classes modify logo varchar(20) not null default '人生苦短,我用Python';
      

    8.数据的增删改查(curd)
      curd的解释: 代表创建(Create)、更新(Update)、读取(Retrieve)和删除(Delete)

      1)增加

     1.全列插入
     insert [into] 表名 values(...)   #into可用可不用
     主键字段 可以用 0  null   default 来占位
     如:向classes表中插入 一个班级
     insert into t_classes values(0,'python02');
       
     insert into t_classes values(0,'python01');

     如:向students表插入一个学生信息(id,name,age,height,gender,cls_id)
     insert t_students values(null,'大乔',23,165.12,'男',1);
        
     insert t_students values(null,'李白',23,180.12,'女',1);

     2.部分插入
     insert into 表名(列1,...) values(值1,...)
     insert into t_students(name,gender) values ('张飞',1); #这里张飞后面的一是创建表时,列表性别列对象的枚举参数顺序

     3.多行插入
     insert into 表名(name,gender) values("小张1",1),("小张2",2);
     insert into t_students(name,gender) values('小王',2),('大王',3);

      2)修改
      update 表名 set 列1=值1,列2=值2... where 条件;

     1.全部修改
     update t_students set height=188.88 ;

     2.按条件修改
     update t_students set gender='女' where id=1;

     3.按条件修改多个值
     update students set gender ="",name = "xxx" ;
     update  t_students set height=165.60,gender=1 where id=3;

      3)查询
     
     1.查询所有列
     select * from 表名;
     select * from t_students;

     2.指定条件查询
     select * from t_students where name='李白';


     3.查询指定列
     select 列1,列2,... from 表名;
     select name,age from t_students;

      4)删除

     1.物理删除 #删除后不可恢复
     delete from 表名 where 条件
     delete from t_students where id=4;

     2.逻辑删除 #对要删除的对象做标记,可恢复(用一个字段来表示 这条信息是否已经不能再使用了)
     需要给students表添加一个 isdelete 字段 bit 类型才能进行逻辑删除
     isdelete=1 就是代表删除标记;is_delete=0 就是恢复 #用二进制0和1表示
     update t_students set isdelete=1 where id=5 ;

  • 相关阅读:
    java从Excle中读取数据集
    使用iText5实现Java打印PDF文件完整版
    layer.photos动态加载图片及静态加载图片
    html 设置th时 width无效 解决办法
    前端时间格式转换,js时间戳转时间(年-月-日 时:分:秒)
    JS选择日期控件,当前日期以后的日期不能选择
    Navicat安装和破解
    Git下载安装及Idea配置教程(亲测使用)
    maven的安装及配置
    测试面试常见问题
  • 原文地址:https://www.cnblogs.com/longguoliang/p/9332683.html
Copyright © 2011-2022 走看看