mysql 设计定时器问题:假设有表A、B、C。怎样设计另外的表和定时器,统计他们日、周、月的数量。

mysql 设计定时器问题:假设有表A、B、C。怎样设计另外的表和定时器,统计他们日、周、月的数量。,第1张

设计表D ,开头的时间控制字段prikey yyyy yyyyq yyyymm yyyyww yyyymmdd 之后是你需要的各种汇总字段,开头几个字段的意义是 记录主键,四位年份,四位年份一位季度,四位年份两位月份,四位年份两位周数,四位年份两位月份两位日期

补充问题:你这么说太空泛了,不好设计具体的数据结构,不过,按照一般原则,视你的数据量,通过分表、外键引用等等控制日志表的冗余字段数量,提高或降低数据库表的耦合度。

一、下载并解压缩绿色版MySql

二、配置MySQL的参数

1、解压缩绿色版软件到D:\AppServ\MySQL

设置系统环境变量, 在Path中添加 D:\AppServ\MySQL\bin

2、修改D:\AppServ\MySQL\my-small.ini文件内容,添加红色内容

[client]

#password = your_password

port = 3306

socket = /tmp/mysql.sock

default-character-set=gbk

[mysqld]

port = 3306

socket = /tmp/mysql.sock

default-character-set=gbk

skip-locking

key_buffer = 16K

max_allowed_packet = 1M

table_cache = 4

sort_buffer_size = 64K

read_buffer_size = 256K

read_rnd_buffer_size = 256K

net_buffer_length = 2K

thread_stack = 64K

basedir=D:\Appserv\MySQL\

datadir=D:\Appserv\MySQL\Data\

#basedir是mysql安装目录;#datadir是mysql数据库存放位置,必须是Data文件夹名

将修改后的文件另存为my.ini

3、安装MySQL的服务,服务名自己定义为MySQL.

1)、进入DOS窗口

2)、执行安装MySQL服务名的命令:

D:\AppServ\MySQL\bin\mysqld-nt -install mysql --defaults-file="D:\Appserv\MySQL\my.ini"

出现Service successfully installed.表示安装成功。

然后打开服务窗口(在运行框中输入services.msc即可打开服务窗口,然后可以找到mysql服务了,右键mysql服务属性,在d出的窗口中可以看到以下信息:)

D:\AppServ\MySQL\bin\mysqld-nt --defaults-file=D:\Appserv\MySQL\my.ini mysql  则表示mysql会随开机启动而启动!

3)、启动MySQL服务

net start mysql

MySQL服务正在启动 .

MySQL服务无法启动。

4)、登陆MySQL服务器

mysql -uroot -p

Enter password:

Welcome to the MySQL monitor. Commands end with or \g.

Your MySQL connection id is 1

Server version: 5.1.32-community MySQL Community Edition (GPL)

Type 'help' or '\h' for help. Type '\c' to clear the buffer.

mysql>

注意:MySQL的管理员用户名为root,密码默认为空。

5)、查看数据库

mysql> show databases

+--------------------+

| Database |

+--------------------+

| information_schema |

| mysql |

| test |

+--------------------+

3 rows in set (0.02 sec)

可以看到MySQL服务器中有三个数据库。

6)、使用数据库

mysql> use test

Database changed

7)、查看数据库中的表

mysql> show tables

Empty set (0.00 sec)

8)、创建表ttt

mysql> create table ttt(a int,b varchar(20)) 

Query OK, 0 rows affected (0.00 sec)

9)、插入三条数据

mysql> insert into ttt values(1,'aaa') 

Query OK, 1 row affected (0.02 sec)

mysql> insert into ttt values(2,'bbb') 

Query OK, 1 row affected (0.00 sec)

mysql> insert into ttt values(3,'ccc') 

Query OK, 1 row affected (0.00 sec)

10)、查询数据

mysql> select * from ttt

+------+------+

| a | b |

+------+------+

| 1 | aaa |

| 2 | bbb |

| 3 | ccc |

+------+------+

3 rows in set (0.00 sec)

11)、删除数据

mysql> delete from ttt where a=3

Query OK, 1 row affected (0.01 sec)

删除后查询 *** 作结果:

mysql> select * from ttt 

+------+------+

| a | b |

+------+------+

| 1 | aaa |

| 2 | bbb |

+------+------+

2 rows in set (0.00 sec)

12)、更新数据

mysql> update ttt set b = 'xxx' where a =2

Query OK, 1 row affected (0.00 sec)

Rows matched: 1 Changed: 1 Warnings: 0

查看更新结果:

mysql> select * from ttt 

+------+------+

| a | b |

+------+------+

| 1 | aaa |

| 2 | xxx |

+------+------+

2 rows in set (0.00 sec)

13)、删除表

mysql> drop table ttt 

Query OK, 0 rows affected (0.00 sec)

查看数据库中剩余的表:

mysql> show tables

Empty set (0.00 sec)

三、更改MySQL数据库root用户的密码

1、使用mysql数据库

mysql> use mysql

Database changed

2、查看mysql数据库中所有的表

mysql>show tables 

+---------------------------+

| Tables_in_mysql |

+---------------------------+

| columns_priv |

| db |

| func |

| help_category |

| help_keyword |

| help_relation |

| help_topic |

| host |

| proc |

| procs_priv |

| tables_priv |

| time_zone |

| time_zone_leap_second |

| time_zone_name |

| time_zone_transition |

| time_zone_transition_type |

| user |

+---------------------------+

17 rows in set (0.00 sec)

3、删除mysql数据库中用户表的所有数据

mysql> delete from user 

Query OK, 3 rows affected (0.00 sec)

4、创建一个root用户,密码为"xiaohui"。

mysql>grant all on *.* to root@'%' identified by 'xiaohui' with grant option 

Query OK, 0 rows affected (0.02 sec)

5、查看user表中的用户

mysql> select User from user 

+------+

| User |

+------+

| root |

+------+

1 row in set (0.00 sec)

6、重启MySQL:更改了MySQL用户后,需要重启MySQL服务器才可以生效。

net stop mysql

MySQL 服务正在停止..

MySQL 服务已成功停止。

net start mysql 

MySQL 服务正在启动 .

MySQL 服务已经启动成功。

7、重新登陆MySQL服务器

mysql -uroot -pxiaohui 

Welcome to the MySQL monitor. Commands end with or \g.

Your MySQL connection id is 1

Server version: 5.1.32-community MySQL Community Edition (GPL)

Type 'help' or '\h' for help. Type '\c' to clear the buffer.

mysql>

如果修改密码后net startmysql出现不能启动mysql的1067错误,则可以使用以下办法解决:

使用cmd命令:D:\Appserv\mysql\bin\mysqladmin -uroot -p shutdown,然后输入密码,再net start mysql 就没有这个错误提示了!

四、数据库的创建与删除

1、创建数据库testdb

mysql> create database testdb

Query OK, 1 row affected (0.02 sec)

2、使用数据库testdb

mysql> use testdb

Database changed

3、删除数据库testdb

mysql> drop database testdb 

Query OK, 0 rows affected (0.00 sec)

4、退出登陆

mysql>exit 

Bye

C:\Documents and Settings\Administrator>

五、 *** 作数据库数据的一般步骤

1、启动MySQL服务器

2、登陆数据库服务器

3、使用某个要 *** 作的数据库

4、 *** 作该数据库中的表,可执行增删改查各种 *** 作。

5、退出登陆。

1、mysql强制使用主键索引

2、强制指定一个特定索引

3、同时指定两个

4、在多个表join中强制使用索引

select * from table ignore index(PRI) limit 2(禁止使用主键)

select * from table ignore index(idx) limit 2(禁止使用索引”idx”)

select * from table ignore index(PRI,idx) limit 2(禁止使用索引”PRI,idx”)

force index 不建议使用,如果数据量有变化,指定的索引可能不是最佳的


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/6249481.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-19
下一篇 2023-03-19

发表评论

登录后才能评论

评论列表(0条)

保存