mysql和sqline的异同,SQL 操作小记

references user(id);

)

//创建一个表,名字叫fk_test,有几个字段.其中有一个叫:user_id的.我们创建一个关联规则:my_user_fk_test_fk

它的内容是:将user_id这个字段设为外建,并且关联到user表的id字段上.这样关联后,当我们向fk_test表插入数据的时候,user_id字段里的内容就必须在user表id字段里存在.而且当你更改或删除user表里的那个已与fk_test表关联的记录的时候会报错,这就是添加外键规则的好处.当然你也可以不加constraint.

加唯一约束:

CREATE TABLE Persons

(

Id_P int NOT NULL,

Name varchar(255) NOT NULL,

CONSTRAINT uc_PersonID UNIQUE (Id_P,Name)

//添加约束,并给约束命名:uc_PersonID

)或

CREATE TABLE Persons

(

Id_P int NOT NULL UNIQUE,

Name varchar(255) NOT NULL

)

删除约束:

MySQL:

ALTER TABLE Persons DROP INDEX uc_PersonID

SQL Server / Oracle / MS Access:

ALTER TABLE Persons

DROP CONSTRAINT uc_PersonID

上面是针对已经命名的约束,如果没有命名,则可以用change column命令.

删除相同的数据.

delete  RT_MEETING_USER

from  RT_MEETING_USER  tt

where  exists(

select  *

from  RT_MEETING_USER

where  NPC_MEETING_ID=tt.NPC_MEETING_ID

and  MEETING_USER_ID=tt.MEETING_USER_ID

and  ID

查询重复数据:

SELECT SERI_NUM FROM t_sms_pay GROUP BY SERI_NUM HAVING

count(SERI_NUM) > 1;

mysql longtext 最大可存放 2 的 32 次方 减 1

个字符。但不是说小于这个长度的一定就存的进去。这和 mysql 配置有关,在命令行中输入:

show VARIABLES like '%max_allowed_packet%';

可以看到允许存放的最大长度。

可以通过如下方式改变:

set global max_allowed_packet = 2*1024*1024*10;

设置后,必须断开当前 mysql 连接,然后重新再连接,再查看上面的变量。就会看到变化。

创建索引或复合索引:

CREATE INDEX index_name ON table_name (column_name, column_name2);

deop

index index_name on table_name;

查看当前存储过程:

show procedure status;

查看某个存储过程:

show create procedure proc_name;

给字段设置随机值:

值的范围: [1, 6]

update user set type = ceiling(rand()*6);

清空表数据:

truncate table xxx

和 delete from 相比。它更快。而且如果有 auto increment ,delete 后字段值是不会清零的。truncate

会清零。

将表转换成 MyISAM类型

alter table t_test type = myisam;

加上序号列:

SELECT

@rownum:=@rownum + 1 AS rownum, message.* FROM (SELECT @rownum:=0)

r, message order by mesId desc

多表连接更新:

UPDATE t_keywords

INNER JOIN t_long_tail ON t_keywords.keyword=t_long_tail.name SET

t_keywords.weight=t_long_tail.weight

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值