重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
1,sqlyog客户端,用root用户远程链接mysql时,提示“访问被拒绝”,在网上搜索了一下原因。
站在用户的角度思考问题,与客户深入沟通,找到四川网站设计与四川网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:成都做网站、网站设计、企业官网、英文网站、手机端网站、网站推广、域名注册、网站空间、企业邮箱。业务覆盖四川地区。
原来是mysql没有授权其远程链接,所以你只能在客户端里面链接。
怎么解决呢?
原表数据
mysql use mysql
mysql select Host,User,Password from user ;
+---------------+---------+-------------------------------------------+
| Host | User | Password |
选中某个表,然后右键点击,选择“设计表”即可。
也可以左键点击某个表(即选中某表),在上面辅助菜单栏里有“打开表”、“设计表”、“新建表”等按钮可点击,点击“设计表”按钮即可。
进入后,会弹出新的操作窗口,新窗口的菜单栏里有常用的修改表结构的按钮,右键点击某列字段也可以弹出相应的修改表的操作按钮。
其它摸索着看提示操作即可,还是很简单的。
修改好表后点击菜单栏上的“保存”按钮即可。
注:若要查看修改表的sql语句,必须在“保存”之前点击“SQL预览”按钮。
CREATE TABLE `access_log` (
`id` int(11) NOT NULL auto_increment,
`user_id` int(11) NOT NULL,
`username` varchar(80) NOT NULL,
`ip` varchar(15) default NULL,
`entered` timestamp NOT NULL default CURRENT_TIMESTAMP,
`browser` varchar(255) default NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
主键约束,可以参考一下,同时定义了编码类型和默认值。外键可以网上查一下,我建议你不要建外键约束,而是通过左联接操作就OK了,功能一样,外键约束在处理数据库表数据时很麻烦。现在很多设计表都没有做一些外键约束的。
假设已经有一个用户表,每个用户有一个唯一ID。我们需要创建两张表,一张余额表,一张流水表:
CREATE TABLE `balance` ( `id` int NOT NULL AUTO_INCREMENT PRIMARY KEY, `user_id` int NOT NULL, `item` varchar(10) NOT NULL, `balance` decimal(20,2) NOT NULL) ENGINE=InnoDB;CREATE TABLE `history` ( `id` int NOT NULL AUTO_INCREMENT PRIMARY KEY, `time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, `user_id` int NOT NULL, `item` varchar(10) NOT NULL, `amount` decimal(20,2) NOT NULL, `befor` decimal(20,2) NOT NULL, `after` decimal(20,2) NOT NULL, `business` varchar(30) NOT NULL, `business_id` varchar(100) NOT NULL, `detail` text) ENGINE=InnoDB;
为了加快查询速度,另外为了有效利用 InnoDB 的行级锁,我们需要给两张表加上联合索引。另外,我们需要保证流水记录中 user_id, item, business, business_id 的组合是唯一的,避免重复更新数据。
ALTER TABLE balance ADD INDEX `user_item_idx` (`user_id`, `item`);ALTER TABLE history ADD INDEX `user_item_idx` (`user_id`, `item`);ALTER TABLE history ADD UNIQUE update_unique (user_id, item, business, business_id);
你的获得和使用都在一个字段里吗?应该有所区分吧?如果有区分就好办,如果在一个字段里,又没有区分就不好处理了,例有个区分字段,type 1 是获取,-1是使用
SELECT member_id, date_format(FROM_UNIXTIME( `time`),'%y') sdate,count(point) as a, FROM `表名` where type = 1 group by sdate member_id