澳门金沙vip 1

读取表结构到变量中

在这里地,介绍别的黄金年代种艺术,通过变理获取整个数据表的具有字段名,以PP_MO为例:

 

干活中,日常会蒙受将有个别数据表的保有或大部份字段读抽取来情状,比如说跨数据库举行表更新或插队等。尽管字段名一个多少个地敲的话,一是功用低,二是会有疏漏的情事。

 

澳门金沙vip 1

9、查询数据记录(SELECT卡塔 尔(英语:State of Qatar):

澳门金沙vip, 

再次查询数据表,内容已经更改了:

DECLARE @STRSQL VARCHAR(2000)
SET @STRSQL=''
SELECT @STRSQL=NAME+','+@STRSQL FROM SYSCOLUMNS WHERE OBJECT_NAME(ID)='PP_MO'
PRINT LEFT(@STRSQL,LEN(@STRSQL)-1)

 

结果如下:

 

本着此种情形,管理的不二法门有不菲种,比方新建叁个视图,在里头录入SELECT *
FROM 表名,系统会活动将星号改成字段名(SQL SECRUISERVEOdyssey 二〇〇五及以上版本卡塔尔。

语法:ALTER TABLE 原表名 rename 新表名;

举例:

mysql> SELECT * FROM `user`;
+----+----------+
| id | username |
+----+----------+
|  1 | 韩寒         |
+----+----------+
1 row in set (0.00 sec)

宗旨语法:SELECT “字段名1,字段名2,字段名3” FROM 数据表名 
[规范化表达式];

在意:数据表前边括号中的字段名能够不按原本的顺序写,但无论怎么写,values后边括号中的数值顺序要与字段名称黄金时代豆蔻梢头对应。

 

SELECT * FROM `user`;

 

 1 mysql> ALTER TABLE `user` rename `puser`;
 2 Query OK, 0 rows affected (0.00 sec)
 3 
 4 mysql> show tables;
 5 +-------------------+
 6 | Tables_in_php2016 |
 7 +-------------------+
 8 | puser             |
 9 +-------------------+
10 1 row in set (0.00 sec)

还是拿刚才的事例来写二个讲话:

ALTER TABLE `puser` change `username` `name` char(30);

 

基本语法1:INSERT INTO 数据表 (字段名1,字段名2,字段名3……字段名n) VALUES
(数据值1,数据值2,数据值3……数据值n);

比如说大家要删减id大于1的数额:

结果如下:

 

假若大家要询问再次回到username为‘韩寒(hán hán 卡塔尔国’的那条数据,能够钦赐询问的尺度:

 

语法:ALTER TABLE `数量表名` change `旧字段名` `新字段名`
字段类型;

 

11、删除数据记录(DELETE卡塔尔国:

 

 

 1 mysql> ALTER TABLE `puser` modify `name` varchar(50);
 2 Query OK, 1 row affected (0.01 sec)
 3 Records: 1  Duplicates: 0  Warnings: 0
 4 
 5 mysql> desc puser;
 6 +-------+-------------+------+-----+---------+----------------+
 7 | Field | Type        | Null | Key | Default | Extra          |
 8 +-------+-------------+------+-----+---------+----------------+
 9 | id    | int(11)     | NO   | PRI | NULL    | auto_increment |
10 | name  | varchar(50) | YES  | MUL | NULL    |                |
11 +-------+-------------+------+-----+---------+----------------+
12 2 rows in set (0.00 sec)

 

 1 mysql> ALTER TABLE `puser` ADD `Email` VARCHAR(30) NOT NULL AFTER `name`;
 2 Query OK, 1 row affected (0.02 sec)
 3 Records: 1  Duplicates: 0  Warnings: 0
 4 
 5 mysql> desc puser;
 6 +-------+-------------+------+-----+---------+----------------+
 7 | Field | Type        | Null | Key | Default | Extra          |
 8 +-------+-------------+------+-----+---------+----------------+
 9 | id    | int(11)     | NO   | PRI | NULL    | auto_increment |
10 | name  | varchar(50) | YES  | MUL | NULL    |                |
11 | Email | varchar(30) | NO   |     | NULL    |                |
12 +-------+-------------+------+-----+---------+----------------+
13 3 rows in set (0.02 sec)

(1卡塔 尔(英语:State of Qatar)纠正表名:

结果如下:

宗旨语法:UPDATE `表名` SET `字段`=’新值’ WHERE 条件表明式;

mysql> ALTER TABLE `user` rename `puser`;

 

1 mysql> SELECT * FROM `user`;
2 +----+----------+
3 | id | username |
4 +----+----------+
5 |  1 | 韩寒         |
6 |  2 | 韩流         |
7 |  3 | 乔风        |
8 +----+----------+
9 3 rows in set (0.00 sec)

上例中,我用 通配符
*取代了独具要回到的字段,数据表名后边未有接表明式,那样将再次回到user表里面有着的数据
(在操作本步骤前,重复8多增多几条的多寡);

 

示例:

DELETE FROM `user` WHERE `id` > 1;

10、修改数据记录(UPDATE卡塔尔国:

 

INSERT INTO `user` (`username`) VALUES ('韩寒');

询问下数据表,数据表里只剩余id=1的那条数据了:

笔者们也来个结果:

上例的情致是,将user这么些表里面包车型客车字段”username“
改良(change)为”name”,name的字段类型为字符型char,长度为35个字符。

UPDATE `user` SET `username`='韩风' WHERE `username`='乔风';
1 mysql> UPDATE `user` SET `username`='韩风' WHERE `username`='乔风';
2 Query OK, 1 row affected (0.02 sec)
3 Rows matched: 1  Changed: 1  Warnings: 0