MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

MySQLでNULLを表示するテーブル列に小計を追加するにはどうすればよいですか?


最初にテーブルを作成しましょう-

mysql> create table DemoTable
-> (
-> Amount int,
-> SubTotal int
-> );
Query OK, 0 rows affected (0.65 sec)

挿入コマンド-

を使用して、テーブルにいくつかのレコードを挿入します
ysql> insert into DemoTable(Amount) values(50);
Query OK, 1 row affected (0.17 sec)

mysql> insert into DemoTable(Amount) values(60);
Query OK, 1 row affected (0.16 sec)

mysql> insert into DemoTable(Amount) values(70);
Query OK, 1 row affected (0.14 sec)

mysql> insert into DemoTable(Amount) values(80);
Query OK, 1 row affected (0.17 sec)

selectステートメントを使用してテーブルのすべてのレコードを表示する-

mysql> select *from DemoTable;

出力

これにより、次の出力が生成されます-

+--------+----------+
| Amount | SubTotal |
+--------+----------+
|     50 |   NULL   |
|     60 |   NULL   |
|     70 |   NULL   | 
|     80 |   NULL   |
+--------+----------+
4 rows in set (0.00 sec)

これは、MySQLの列に小計を追加するためのクエリです。

mysql> set @sum := 0;
Query OK, 0 rows affected (0.10 sec)

mysql> update DemoTable set SubTotal = (@sum := @sum + Amount);
Query OK, 4 rows affected (0.19 sec)
Rows matched: 4  Changed: 4 Warnings: 0

テーブルレコードをもう一度確認しましょう-

mysql> select *from DemoTable;

出力

これにより、次の出力が生成されます-

+--------+----------+
| Amount | SubTotal |
+--------+----------+
|     50 |     50   |
|     60 |     110  |
|     70 |     180  |
|     80 |     260  | 
+--------+----------+
4 rows in set (0.00 sec)

  1. すでに作成されているMySQL列にNOTNULL制約を追加するにはどうすればよいですか?

    これは、ALTERTABLEを使用して実現します。まずテーブルを作成しましょう- mysql> create table DemoTable    -> (    -> StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY,    -> StudentName varchar(100)    -> ); Query OK, 0 rows affected (0.86 sec) 表の説明を確認しましょう- mysql> desc De

  2. PythonでMySQLテーブルに列を追加するにはどうすればよいですか?

    既存のテーブルに新しい列を追加する必要がある場合があります。 Name、Age、Rollnoなどの列を持つ「Students」テーブルがあるとします。既存のテーブルに新しい列「アドレス」を追加します。 これは、ALTERコマンドを使用して実行できます。 ALTERコマンドは、データベースの列を変更、削除、または更新するために使用されます。これは、ADD句を使用してテーブルに新しい列を追加するためにも使用できます。 構文 ALTER TABLE table_name ADD new_column_name column_definition [FIRST | AFTER exisiting_c