【风马一族_mysql】mysql基本指令

mysql> alter table t1 add col1 char(1);

MySQL命令行中给表增添二个字段(字段名、是不是为空、私下认可值),mysql命令行

先看一下最简便的事例,在test中,增添一个字段,字段名叫birth,类型为date类型。

mysql> alter table test add column birth date;
Query OK, 0 rows affected (0.36 sec)
Records: 0  Duplicates: 0  Warnings: 0

询问一下数目,看看结果:

mysql> select * from test;
+——+——–+———————————-+————+——-+
| t_id | t_name | t_password                       | t_birth    |
birth |
+——+——–+———————————-+————+——-+
|    1 | name1  | 12345678901234567890123456789012 | NULL       | NULL 
|
|    2 | name2  | 12345678901234567890123456789012 | 2013-01-01 | NULL 
|
+——+——–+———————————-+————+——-+
2 rows in set (0.00 sec)

从上边结果能够看来,插入的birth字段,私下认可值为空。大家再来试一下,增添贰个birth1字段,设置它不容许为空。

mysql> alter table test add column birth1 date not null;
Query OK, 0 rows affected (0.16 sec)
Records: 0  Duplicates: 0  Warnings: 0

以至实践成功了!?意外了!作者原先以为,那几个语句不会成功的,因为本人尚未给她钦定贰个默许值。大家来看望数据:

mysql> select * from test;
+——+——–+———————————-+————+——-+————+
| t_id | t_name | t_password                       | t_birth    |
birth | birth1     |
+——+——–+———————————-+————+——-+————+
|    1 | name1  | 12345678901234567890123456789012 | NULL       | NULL 
| 0000-00-00 |
|    2 | name2  | 12345678901234567890123456789012 | 2013-01-01 | NULL 
| 0000-00-00 |
+——+——–+———————————-+————+——-+————+
2 rows in set (0.00 sec)

哦,了然了,系统活动将date类型的值,设置了三个默许值:0000-00-00。下面小编来一贯钦定几个暗中同意值看看:

mysql> alter table test add column birth2 date default ‘2013-1-1’;
Query OK, 0 rows affected (0.28 sec)
Records: 0  Duplicates: 0  Warnings: 0

mysql> select * from test;
+——+——–+———————————-+————+——-+————+————+
| t_id | t_name | t_password                       | t_birth    |
birth | birth1     | birth2     |
+——+——–+———————————-+————+——-+————+————+
|    1 | name1  | 12345678901234567890123456789012 | NULL       | NULL 
| 0000-00-00 | 2013-01-01 |
|    2 | name2  | 12345678901234567890123456789012 | 2013-01-01 | NULL 
| 0000-00-00 | 2013-01-01 |
+——+——–+———————————-+————+——-+————+————+
2 rows in set (0.00 sec)

看来没,将净增的birth2字段,就有贰个暗许值了,而且以此私下认可值是我们手工内定的。

关于MySQL中给表增添一个字段,本文就介绍这么多,希望对大家有所辅助,谢谢!

先看一下最简易的事例,在test中,增多二个字段,字段名叫…

从地方结果能够见到,插入的birth字段,私下认可值为空。我们再来试一下,增多一个birth1字段,设置它不允许为空。

数据表的常用命令

Query OK, 3 rows affected (0.24 sec)

mysql> alter table test add column birth date;
Query OK, 0 rows affected (0.36 sec)
Records: 0  Duplicates: 0  Warnings: 0

  1. 创设数据库
    1. mysql>create database 数据库名 ;
  2. 来得数据库
    1. mysql>show databases;
    2. +——————–+
      | Database                |
      +——————–+
      | information_schema   |
      | mysql                       |
      | performance_schema |
      | test                         |
      | twwq                       |
      | xhkdb                      |
      +——————–+
      6 rows in set (0.02 sec) 
  3. 删除数据库
    1. drop database 数据库名;
    2. mysql> drop database twwq;
      Query OK, 0 rows affected (0.05 sec)
  4. 一而再数据库
    1. use 数据库名;
    2. mysql>use twwq;
      Database changed
  5. 查看 当前连年的数据库
    1. mysql>select database();
      +————+
      | database()  |
      +————+
      | twwq          |
      +————+
      1 row in set (0.00 sec)

mysql> select * from t1;

查询一下数码,看看结果:

用户

查看表中多少:

先看一下最简便的例子,在test中,加多一个字段,字段名称叫birth,类型为date类型。

 

|    3 | NULL |

乃至实施成功了!?意外了!笔者原先认为,那些语句不会中标的,因为笔者尚未给他钦点叁个默许值。大家来看望数据:

 

 

见状没,将扩充的birth2字段,就有二个暗中认可值了,而且那些默许值是我们手工业钦定的。

  1. 创立用户
    1. mysql>grant 权限(select,insert,update,delete) on 
      数据库.数据表  to  用户名@Computer的地方  identified by
      “用户的密码” 

      1. 权力  【有各种权限】
        1. select      查询
        2. insert      插入
        3. update    修改
        4. delete  删除 
      2. 多少库.数据表 【有三种写法】  
        1. *.*           表示全部数据库与有着数据表         
          全数
        2. *.user          表示具备数据库的user表              
          有个别表的数据库
        3. mysql.*        表示数据库mysql的具备数据表      
          有个别数据库
        4. mysql.user  代表数据库mysql的数据库user表 
          有个别数据库的某部数据表
      3. 用户名@计算机的地点
        1. 用户名          要创立的用户名称,不可能跟原先的用户名同样
        2. 管理器的地点   mysql软件商讨所在的计算机一连
          1. 在融洽计算机使用时,用 127.0.0.1
          2. 与服务器的mysql交互时,用服务器的IP  
    2. mysql> grant select,insert,update,delete on mysql.* to
      ceosows@127.0.0.1 identif ied by “ceosows”;
      Query OK, 0 rows affected (0.01 sec)
    3. mysql> grant select,insert,update,delete on *.* to
      ceosows@127.0.0.1 identif ied by “ceosows”;
      Query OK, 0 rows affected (0.01 sec)
  2. 翻开用户
    1. select *
      from 数据库.数据表
    2. select *
      from mysql.user            

3

mysql> select * from test;
+——+——–+———————————-+————+——-+————+
| t_id | t_name | t_password                       | t_birth    |
birth | birth1     |
+——+——–+———————————-+————+——-+————+
|    1 | name1  | 12345678901234567890123456789012 | NULL       | NULL 
| 0000-00-00 |
|    2 | name2  | 12345678901234567890123456789012 | 2013-01-01 | NULL 
| 0000-00-00 |
+——+——–+———————————-+————+——-+————+
2 rows in set (0.00 sec)

船停在口岸是很安全的,但那不是造船的指标!

3 rows in set (0.00 sec)
 

mysql> alter table test add column birth2 date default ‘2013-1-1’;
Query OK, 0 rows affected (0.28 sec)
Records: 0  Duplicates: 0  Warnings: 0

数据库常用的下令:

13

mysql> select * from test;
+——+——–+———————————-+————+——-+————+————+
| t_id | t_name | t_password                       | t_birth    |
birth | birth1     | birth2     |
+——+——–+———————————-+————+——-+————+————+
|    1 | name1  | 12345678901234567890123456789012 | NULL       | NULL 
| 0000-00-00 | 2013-01-01 |
|    2 | name2  | 12345678901234567890123456789012 | 2013-01-01 | NULL 
| 0000-00-00 | 2013-01-01 |
+——+——–+———————————-+————+——-+————+————+
2 rows in set (0.00 sec)

2.  mysql>select \* from 数据表 order by id limit
    从哪个位置开始,一共几条;
    1.  mysql> select \* from registered order by id limit 1,2;  
        +----+----------+----------+------------+  
        | id | username | password | repassword  |  
        +----+----------+----------+------------+  
        |  2 | ceo      | aswe1322 | aswe1322       |  
        |  3 | jk       | qazxsw12 | qazxsw12        |  
        +----+----------+----------+------------+  
        2 rows in set (0.00 sec)     //获取两条数据

|    3 |

至于MySQL中给表加多叁个字段,本文就介绍这么多,希望对大家持有扶助,多谢!

  1. 创建表
    1. create table 表名(<字段名1> <类型1>
      [,..<字段名n> <类型n>]);       
      //警告:未有给表填加字段,会出错
    2. mysql> create table registered(id int(8) not null primary key
      auto_increment,
          -> username char(20) not nul
          -> password char(20) not null,
          -> repassword char(20) not null);
      Query OK, 0 rows affected (0.19 sec)
  2. 查看表
    1. mysql>desc 表名 ; (方式一)      mysql> show columns from
      表名; (方式二)
    2. mysql>desc registered; (方式一)      mysql> show columns
      from registered;(方式二 )
      +————+———-+——+—–+———+—————-+
      | Field        | Type       | Null   | Key  | Default   |
      Extra               |
      +————+———-+——+—–+———+—————-+
      | id               | int(8)       | NO   | PRI   | NULL      |
      auto_increment |
      | username    | char(20)  | NO    |        | NULL     
      |                        |
      | password    | char(20)  | NO    |        | NULL     
      |                        |
      | repassword | char(20)  | NO    |        | NULL     
      |                        |
      +————+———-+——+—–+———+—————-+
      4 rows in set (0.01 sec)
  3. 修改表
    1. rename table (原先的)表名  to (修改后的)表;
    2. mysql> rename table registered to sows;
      Query OK, 0 rows affected (0.06 sec)
    3. 查阅效果
      1. mysql> desc sows;
        +————+———-+——+—–+———+—————-+
        | Field        | Type       | Null   | Key  | Default   |
        Extra              |
        +————+———-+——+—–+———+—————-+
        | id               | int(8)      | NO    | PRI   | NULL    
        | auto_increment |
        | name          | char(20)  | YES  |         | NULL    
        |                        |
        | password    | char(20)  | NO    |        | NULL    
        |                        |
        | repassword | char(20)  | NO    |        | NULL    
        |                        |
        +————+———-+——+—–+———+—————-+
        4 rows in set (0.01 sec)      
  4. 删除表
    1. mysql>drop table 表名;            //警告:永世性删除数据表,慎用
    2. mysql>drop table registered;
      Query OK, 0 rows affected (0.05 sec)  
  5. 充实    alter add命令用来增添表的字段。
    1. 扩张字段
      1. alter table 数据表 add 字段 参数 其他;
      2. mysql> alter table registered add sex char(2);
        Query OK, 0 rows affected (0.33 sec)
        Records: 0  Duplicates: 0  Warnings: 0
      3. 查阅效果
        1. mysql> desc registered;
          +————+———-+——+—–+———+—————-+
          | Field           | Type        | Null   | Key | Default
          | Extra                 |
          +————+———-+——+—–+———+—————-+
          | id               | int(8)       | NO    | PRI |
          NULL    | auto_increment   |
          | username    | char(20)   | NO    |      | NULL   
          |                          |
          | password    | char(20)   | NO    |      | NULL   
          |                          |
          | repassword | char(20)   | NO    |      | NULL   
          |                          |
          | sex             | char(2)    | YES   |      | NULL   
          |                          |        //增加sex 字段
          +————+———-+——+—–+———+—————-+
          5 rows in set (0.01 sec) 
        2. mysql> desc registered;   
          E奥迪Q5RO中华V 1146 (42S02): Table ‘twwq.registered’ doesn’t
          exist   //原因表名被修改,因而原先的表名,不能够利用了
    2. 修改字段
      1. alter table 数据表 change (要被修改的)字段 
        (修改后的)字段  参数;
      2. mysql> alter table registered change username name
        char(20);
        Query OK, 0 rows affected (0.33 sec)
        Records: 0  Duplicates: 0  Warnings: 0  
      3. 查阅效果
        1. mysql> desc registered;
          +————+———-+——+—–+———+—————-+
          | Field           | Type       | Null    | Key  |
          Default  | Extra               |
          +————+———-+——+—–+———+—————-+
          | id               | int(8)      | NO     | PRI  |
          NULL     | auto_increment |
          | name          | char(20)  | YES   |        | NULL    
          |                        |        // username   修改成 
          name
          | password    | char(20)  | NO     |        | NULL    
          |                       |
          | repassword | char(20)  | NO     |         | NULL    
          |                      |
          | sex            | char(2)    | YES    |         |
          NULL     |                      |
          +————+———-+——+—–+———+—————-+
          5 rows in set (0.01 sec)   
    3. 删除字段
      1. alter table 数据表 drop 字段;
      2. mysql> alter table registered drop sex;
        Query OK, 0 rows affected (0.31 sec)
        Records: 0  Duplicates: 0  Warnings: 0
      3. 翻看效果
        1. mysql> desc registered;
          +————+———-+——+—–+———+—————-+
          | Field           | Type       | Null    | Key  |
          Default  | Extra               |
          +————+———-+——+—–+———+—————-+
          | id               | int(8)      | NO    | PRI   |
          NULL     | auto_increment |
          | name          | char(20)  | YES  |        | NULL     
          |                        |
          | password    | char(20)  | NO    |        | NULL    
          |                        |
          | repassword | char(20)  | NO    |        | NULL     
          |                       |
          +————+———-+——+—–+———+—————-+  
          //sex 字段 已经被剔除
          4 rows in set (0.01 sec)             
    4. 加索引  
      1. alter table 数据表 add index
        索引名(【已经存在于表的】字段名);
      2. mysql> alter table registered add index
        sows_name(username);
        Query OK, 0 rows affected (0.17 sec)
        Records: 0  Duplicates: 0  Warnings: 0 
      3. 翻开效果
        1. mysql> desc registered;
          +————+———-+——+—–+———+—————-+
          | Field           | Type       | Null    | Key | Default
          | Extra                 |
          +————+———-+——+—–+———+—————-+
          | id               | int(8)      | NO    | PRI   |
          NULL    | auto_increment  |
          | username    | char(20)  | NO    | MUL | NULL    
          |                        |   //Key 字段出现 MUL
          | password    | char(20)  | NO    |        | NULL    
          |                        |
          | repassword | char(20)  | NO    |        | NULL    
          |                        |
          | sex            | char(2)    | YES   |        | NULL 
             |                        |
          +————+———-+——+—–+———+—————-+
          5 rows in set (0.01 sec)  
    5. 删去索引
      1. alter table 数据表 drop index 索引名;
      2. mysql> alter table registered drop index sows_name;
        Query OK, 0 rows affected (0.15 sec)
        Records: 0  Duplicates: 0  Warnings: 0
      3. 查阅效果
        1. mysql> desc registered;
          +————+———-+——+—–+———+—————-+
          | Field           | Type       | Null    | Key |
          Default   | Extra               |
          +————+———-+——+—–+———+—————-+
          | id               | int(8)      | NO    | PRI   |
          NULL     | auto_increment |
          | username    | char(20)  | NO    |        | NULL    
          |                        |  //key 字段的从头到尾的经过未有
          | password    | char(20)  | NO    |        | NULL    
          |                        |
          | repassword | char(20)  | NO    |        | NULL    
          |                        |
          | sex            | char(2)    | YES   |        | NULL  
            |                        |
          +————+———-+——+—–+———+—————-+
          5 rows in set (0.01 sec)                
  6. 安顿数据
    1. mysql>insert into 数据表(字段 
      //假使已经落到实处步骤1,则毫不再写字段) values
      (依照字段的多少,变量类型、变量长度需求、是或不是同意为空,来张开填写内容)
    2. mysql> insert into registered values
      (1,’sows’,’asqw1234′,’asqw1234′),(2,’ceo’,’
      aswe1322′,’aswe1322′),(3,’jk’,’qazxsw12′,’qazxsw12′);
      Query OK, 3 rows affected (0.01 sec)
      Records: 3  Duplicates: 0  Warnings: 0      // 成功插入
      3条数据
  7. 翻看表中的多寡    //准确性的查询所需数据
    1. mysql>select * from 数据表;                        
      //获取表中全数数据

      1. mysql>select * from  registered;
        +—-+———-+———-+————–+
        | id    | username | password | repassword |
        +—-+———-+———-+————–+
        |  1   | sows        | asqw1234 | asqw1234   |
        |  2   | ceo          | aswe1322  | aswe1322   |
        |  3   | jk            | qazxsw12  | qazxsw12   |
        +—-+———-+———-+————–+
        3 rows in set (0.00 sec)      //获取到3条数据

三回基本上一样的操作,但表中旧数据中的新增加字段的结果却是不等同的。

你或然感兴趣的篇章:

  • MySQL命令行导出导入数据库实例详解
  • MySQL命令行导出与导入数据库
  • MySQL命令行删除表中的二个字段
  • MySQL命令行分界面中出现字符错误提示的来由及消除方法
  • 享受Mysql命令大全
  • MySql命令实例汇总
  • Mysql命令大全(完整版)
  • Mysql命令大全(详细篇)
  • MySQL命令行下十多个常用命令
  1. 去除表中的数码
    1. mysql>delect from 数据表  where 条件限制 ;  
    2. mysql> delete from registered where id=1;
      Query OK, 1 row affected (0.01 sec)  //删除成功
    3. 选择5,查看删除的效益
      1. mysql> select * from registered;
        +—-+———-+———-+————+
        | id    | username | password | repassword |
        +—-+———-+———-+————+
        |  2    | ceo         | aswe1322 | aswe1322   |
        |  3    | jk           | qazxsw12 | qazxsw12   |
        +—-+———-+———-+————+
        2 rows in set (0.00 sec)   //id为1的多寡被成功删除了  
  2. 修改表中的数据
    1. mysql>update 数据表 set (要修改数据的)字段=修改后的多少  
      where  条件限制

      1. mysql> update registered set username=’sowsceo’ where
        id=2;
        Query OK, 1 row affected (0.01 sec)                         
        //修改成功
        Rows matched: 1  Changed: 1  Warnings:
        0     //修改的多少
      2. 查看修改后的意义
        1. mysql> select * from registered;
          +—-+———-+———-+————+
          | id | username | password | repassword |
          +—-+———-+———-+————+
          |  2 | sowsceo  | aswe1322 | aswe1322   |     
          //username 从ceo 变成 sowsceo
          |  3 | jk       | qazxsw12 | qazxsw12   |
          +—-+———-+———-+————+
          2 rows in set (0.00 sec)   

 

mysql> alter table test add column birth1 date not null;
Query OK, 0 rows affected (0.16 sec)
Records: 0  Duplicates: 0  Warnings: 0

4

哦,领会了,系统活动将date类型的值,设置了三个私下认可值:0000-00-00。下边作者来直接钦定三个暗许值看看:

5

mysql> select * from test;
+——+——–+———————————-+————+——-+
| t_id | t_name | t_password                       | t_birth    |
birth |
+——+——–+———————————-+————+——-+
|    1 | name1  | 12345678901234567890123456789012 | NULL       | NULL 
|
|    2 | name2  | 12345678901234567890123456789012 | 2013-01-01 | NULL 
|
+——+——–+———————————-+————+——-+
2 rows in set (0.00 sec)

操作到此处,能够说同事的那么些必要正是告一段落了。可是若是把刚刚的时刻倒回来这一个小须要的始发点,同事假使三遍性的提议了完整的供给:加多三个char(1)类型的字段,暗许值为‘N’:

1

01

6

03

mysql> alter table t1 add col1 char(1) default ‘N’;

| id   | col1 |

09  www.2cto.com  

过了一会儿,他供给安装新扩充字段的暗中同意值为’N’:

mysql> alter table t1 modify col1 char(1) default ‘N’;

+——+

| id   |

07

07

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图