INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE]
[INTO] tbl_name [(col_name,...)]
VALUES ({expr | DEFAULT},...),(...),...
[ ON DUPLICATE KEY UPDATE col_name=expr, ... ]
这个语法是很简单的,根据英语单词的意思就可以直接翻译过来:插入 表名(字段1名,字段2名) values (字段1的值,字段2的值)
在select 语句中赋值给用户变量的语法是 @ var_name := value ,这里的var_name 是变量名,value是正检索的值.1:变量可以用在以后语句中表达式可用的任何地方,例如where字句或者insert 语句中。
例如select @id :=cust_id from customers where cust_id='customer name';
delete from orders where cust_id = @id
2:变量的另一个用途是保存在一个auto_increment列的表中 插入新的一行后last_insert_id()的结果
select @last_id :=Last_INSERT_ID()
LAST_INSERT_ID()返回新的AUTO_INCREMENT列值,通过将其保存在变量中,你可以在之后的语句中多次引用该值。
即使发起其他的语句创建他们自身的atuo_increment值,从而改变了last_insert_id()返回的值
3:用户变量拥有单一的值,如果使用返回多行的语句来将值赋给一个变量,那么只有最后一行的值被赋给了该变量。
4:要将一个变量显示地设为一个特定值,使用set语句,set语法可以使用:=或者=来进行赋值
5:set也可以用来将一个select的结果赋给一个变量.
修改表结构问题不大吧就是主键,索引什么的处理
你可以这样
1.CREATE
TABLE
newtable
SELECT
*
FROM
oldtable
where
1=2;
这是复制表结构,但是不导数据。
2.然后再ALTER
TABLE
newtable
ADD
(newcol1
type1,newcol2
type2,。。。),这样你可以给表添加字段
3.INSERT
INTO
newtable
(oldcol1,oldcol2,。。。oldcoln)SELECT
*
FROM
oldtable;这样就把原来的数据全部移植到新表中,当然也可以给新字段设置默认值。
4.再把原表的主外键,索引,约束等等加上去就OK;
至于你说的请另外的人做,能不能看懂,肯定可以的。。
至于怎样修改还是新开发哪个方便这个就要看你的老系统做的怎么样了,如果老系统扩展性比较好,结构也比较优化合理的话,应该问题不大,简单的加几个字段,程序里面稍微改下就OK了。
如果请人修改的话,不用花多少银子的啊,这个很简单的。、
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)