Linux如何只在二列增加字段

Linux如何只在二列增加字段,第1张

通常需要使用SQL的数据 *** 作语言(DML)来插入、删除和修改表中的记录。

如果在insert语句中给出了要插入记录的各个字段名,那么各字段值的顺序只需与各个字段名的顺序一致,与表中的顺序(desc命令查看)可以不同。但是当使用缩写格式时,各字段值的顺序必须与表中的顺序一致。例如,用缩写格式完成上例记录的插入,则使用“insertintostudentvalues(?0213010?,?zhanghan?,default,19870202,?math?”命令。

建议你建一个触发器,在插入数据之前触发即可实现你要的功能。

示例代码如下:

mysql> CREATE TABLE tb(BH CHAR(16),content VARCHAR(20),`date` DATETIME,val INT)

Query OK, 0 rows affected (0.05 sec)

mysql>

mysql>

mysql> DELIMITER $$

mysql> DROP TRIGGER IF EXISTS tri_NewBH $$

Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql>

mysql> CREATE TRIGGER tri_NewBH BEFORE INSERT ON tb

    -> FOR EACH ROW

    -> BEGIN

    ->     DECLARE dt CHAR(8)

    ->     DECLARE bh_id CHAR(16)

    ->     DECLARE number INT

    ->     DECLARE new_bh VARCHAR(16)

    ->

    ->     SET dt = DATE_FORMAT(CURDATE(),'%Y%m%d')

    ->

    ->     SELECT

    ->         MAX(BH) INTO bh_id

    ->     FROM tb

    ->     WHERE BH LIKE CONCAT(dt,'%')

    ->

    ->     IF bh_id = '' OR bh_id IS NULL THEN

    ->         SET new_bh = CONCAT(dt,'00000001')

    ->     ELSE

    ->         SET number = RIGHT(bh_id,8) + 1

    ->         SET new_bh =  RIGHT(CONCAT('00000000',number),8)

    ->         SET new_bh=CONCAT(dt,new_bh)

    ->     END IF

    ->

    ->     SET NEW.BH = new_bh

    -> END$$

Query OK, 0 rows affected (0.09 sec)

mysql>

mysql> DELIMITER 

mysql> INSERT INTO tb(content,`date`,val) VALUES('LiangCK','2009-05-11',20)

Query OK, 1 row affected (0.00 sec)

mysql> INSERT INTO tb(content,`date`,val) VALUES('LiangCK','2009-05-11',20)

Query OK, 1 row affected (0.01 sec)

mysql> INSERT INTO tb(content,`date`,val) VALUES('LiangCK','2009-05-11',20)

Query OK, 1 row affected (0.00 sec)

mysql> INSERT INTO tb(content,`date`,val) VALUES('LiangCK','2009-05-11',20)

Query OK, 1 row affected (0.00 sec)

mysql> INSERT INTO tb(content,`date`,val) VALUES('LiangCK','2009-05-11',20)

Query OK, 1 row affected (0.00 sec)

mysql> INSERT INTO tb(content,`date`,val) VALUES('LiangCK','2009-05-11',20)

Query OK, 1 row affected (0.01 sec)

mysql> INSERT INTO tb(content,`date`,val) VALUES('LiangCK','2009-05-11',20)

Query OK, 1 row affected (0.00 sec)

mysql> SELECT * FROM tb

+------------------+---------+---------------------+------+

| BH               | content | date                | val  |

+------------------+---------+---------------------+------+

| 2009051100000001 | LiangCK | 2009-05-11 00:00:00 |   20 |

| 2009051100000002 | LiangCK | 2009-05-11 00:00:00 |   20 |

| 2009051100000003 | LiangCK | 2009-05-11 00:00:00 |   20 |

| 2009051100000004 | LiangCK | 2009-05-11 00:00:00 |   20 |

| 2011051200000001 | LiangCK | 2009-05-11 00:00:00 |   20 |

| 2011051200000002 | LiangCK | 2009-05-11 00:00:00 |   20 |

| 2011051200000003 | LiangCK | 2009-05-11 00:00:00 |   20 |

+------------------+---------+---------------------+------+

7 rows in set (0.00 sec)

1、在创建好的数据库book,选中数据库book新建表,鼠标右键新建表。

2、添加数据库表字段id、ano、aname、asex、aage,注意非空项。

3、关闭插入字段窗口,这时会提示是否保存提示,选择“是”保存。

4、点击”是“按钮,输入表名称t_author_info,点击保存,创建数据库表。

5、刷新表,鼠标右键点击”设计“,打开表设计窗口,插入字段。

6、打开查询SQL窗口,编辑插入字段SQL语句,找到SQL 语句语法。就完成了。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11885399.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存