美文网首页
cmd下的mysql

cmd下的mysql

作者: 守护地中海的花 | 来源:发表于2019-05-23 09:50 被阅读0次

    一、数据库连接

    每次打开数据库 都需要输入输入用户名和密码 然后设置gbk(第一次设置即可)

    mysql -hlocalhost -uroot -p 
    set names gbk;
    

    二、数据库操作

    • 查看数据数据库
    show database;
    
    • 创建数据库
    create database 数据库名 charset utf8; 
    
    • 删除现有数据库
    drop database 数据库名;
    
    • 修改现有数据库
      修改数据库,其实只是修改数据库的字符编码或校队规则 其实一般不需要修改
    alter database 数据库名 charset 新的字符集名称 collate  新的校队规则;
    
    • 使用数据库
    use 数据名;
    
    • 其他数据库操作
    show charset;  查看可用字符集
    show collation; 查看可用校对规则
    show create database 数据库名;查看库创建信息
    

    三、表操作

    数据库 只是一个外壳,除了有个数据库名称和字符集设定,基本没有别的信息了。数据表才是存储数据的具体容器。

    • 查看所有表
    show tables;
    
    • 创建表
      1.字段的形式为:字段名 字段类型 [字段属性] 创建表必须最低有一个字段 否则报错、 字段都需要用()包裹起来
      2.charset字符集包括:utf8、gbk、big5等。默认不写 就是默认了
      3.engine表类型包括:InnoDB,MyIsam、BDB等默认是InnoDB 可以不写
    create table 表名 (字段,字段2) charset utf8 ; 
    例如:
    create table user (id int);   -创建user表
    
    • 删除表
    drop table 表名;
    
    • 修改表
      修改表主要是修改表名、添加字段、修改字段、删除字段、修改表的字符集。
      1.修改表名
      alter table 表名 rename 新表名;
      
      2.添加字段
      新增字段 使用 after、first时候 不能用括号()包裹新增的字段 不然sql执行失败
      alter table 表名 add 字段;
      例如:
      alter table login add sex int;
      alter table login add (sex int);   --- 加括号包裹也可以的
      添加字段的位置 可以根据关键字 after、first来控制字段的顺序
      alter table login add male int after age;  ---这里的新增字段不能加()括号包裹不然sql执行失败。
      
      3.修改字段
      change 相当于替换之前的字段名和字段信息、 modify 修改字段信息
      alter table 表名 change 旧字段名 新字段名 字段类型;
      alter table 表名 modify 修改的字段名 字段类型;
      例如:
      alter table login change sig newsig int; ---可以把之前sig 字段修改成int类型的 字段名切换newsig,位置保持不变
       alter table login2 modify sex varchar(10);
      
      4.删除字段
      alter table 表名 drop 字段名;
      例如:
       alter table login2 drop sig1;
      
      5.修改表的字符集
      alter table 表名 charset 新字符集;
      例如:
      alter table login2 charset utf8;
      show create table login2;  ---- 查看修改后的结果 
      
    • 其他表操作
    des 表名;     ---- 查看表结构
    show create table 表名;   ----查看表的创建语句
    

    四、数据操作

    数据都是存储在数据表中。数据的基本操作有4中:增(插入insert)、删(删除delete)、改(修改update)、查(查询select)。即所谓的CRUD:create、retrieve、update、delete。

    • 插入数据
      语句形式:insert into 表名(字段1,字段2,......) values(数据1,数据2,......);
      说明:
      1.字段名和数据是一一对应的 奥康:数量一致,顺序一致,类型匹配
      2.对于要写入的数据,字符串和时间日期类型 要用单引号引起来
      3.可以省略“字段列表”部分,此时就需要给字段数量一样多的数据
      4.设置表的charset gbk才能写中文数据 utf8好像不行 cmd下这个以后看看 我插入数据先把表charset设置gbk
      例如:先查看 select *from 表名 查看表内所有数据
      insert into login(name,age,sex) values('mosi',2,2); ---- //全体赋值
      insert into login(name,sex) values('mosi',2);---赋值一部分
      insert into login(sex) value(2); ---- 赋值单个  values不行 改成value
      insert into login(age,name) values(4,'bst'); ----顺序可以颠倒
       insert into login values('dog',20,2); ---- 必须所有字段对应上
      
      • 查询数据
        语句形式:select 字段,字段2 form 表名 [where 条件]
        说明:
        1.select后的字段必须是表中字段列表中的字段
        2.select 后可以使用一个 * 代表取出表中所有字段
        3.where 条件表示取出的数据所应满足的条件,比如:where id < 10 表示取出那些字段id的值要小于10的行。
        4.where可以不写代表取出所有行的数据。
         select name from login;  ----取出name字段所有值
         select name,age from login;  ----取出name和age字段值
         select * from login;  ----取出表中所有值
         select name,age from login where age > 10; ---取出name和age的值中其中age 大于10的值
        
    • 删除数据
      语句形式:delete from 表名 [where 条件];
      说明:
      1.删除剧指的是删除表的某些行
      2.where 条件表示删除数据所应满足的条件,含义跟select中的一样。
      3.where 条件不写 如果不写 则会删除所有数据 - 不要轻易删库跑路
       delete  from login where age < 5; --- 删除age 小于5的数据
       delete  from login;  ---- 删除所有数据啦
      
    • 修改数据
      语句形式:update 表名 set 字段名 = 新值,字段名 = 新值 ... [where 条件];
      说明:
      1.修改数据指的是修改表的某些行的某些字段
      2.where 条件表示修改数据所应满足条件 不写则是所有数据
       update login set age = 26 where name = 'yuanli';  --- 设置yuanli年龄是26
      

    相关文章

      网友评论

          本文标题:cmd下的mysql

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