<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://aznot.com/index.php?action=history&amp;feed=atom&amp;title=MySQL%2FTest</id>
	<title>MySQL/Test - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://aznot.com/index.php?action=history&amp;feed=atom&amp;title=MySQL%2FTest"/>
	<link rel="alternate" type="text/html" href="https://aznot.com/index.php?title=MySQL/Test&amp;action=history"/>
	<updated>2026-05-08T16:34:27Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.41.0</generator>
	<entry>
		<id>https://aznot.com/index.php?title=MySQL/Test&amp;diff=3134&amp;oldid=prev</id>
		<title>Kenneth at 22:56, 28 March 2016</title>
		<link rel="alternate" type="text/html" href="https://aznot.com/index.php?title=MySQL/Test&amp;diff=3134&amp;oldid=prev"/>
		<updated>2016-03-28T22:56:48Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Tables:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mysql&amp;gt; describe users;&lt;br /&gt;
+----------+------------------+------+-----+---------+----------------+&lt;br /&gt;
| Field    | Type             | Null | Key | Default | Extra          |&lt;br /&gt;
+----------+------------------+------+-----+---------+----------------+&lt;br /&gt;
| uid      | int(10) unsigned | NO   | PRI | NULL    | auto_increment |&lt;br /&gt;
| username | varchar(20)      | NO   | UNI | NULL    |                |&lt;br /&gt;
| name     | varchar(40)      | NO   |     | NULL    |                |&lt;br /&gt;
| phone    | varchar(20)      | NO   |     | NULL    |                |&lt;br /&gt;
| address  | varchar(100)     | NO   |     | NULL    |                |&lt;br /&gt;
+----------+------------------+------+-----+---------+----------------+&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; describe groups;&lt;br /&gt;
+-----------+------------------+------+-----+---------+----------------+&lt;br /&gt;
| Field     | Type             | Null | Key | Default | Extra          |&lt;br /&gt;
+-----------+------------------+------+-----+---------+----------------+&lt;br /&gt;
| gid       | int(11) unsigned | NO   | PRI | NULL    | auto_increment |&lt;br /&gt;
| groupname | varchar(20)      | NO   |     | NULL    |                |&lt;br /&gt;
+-----------+------------------+------+-----+---------+----------------+&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; describe user_groups;&lt;br /&gt;
+-------+---------------------+------+-----+---------+----------------+&lt;br /&gt;
| Field | Type                | Null | Key | Default | Extra          |&lt;br /&gt;
+-------+---------------------+------+-----+---------+----------------+&lt;br /&gt;
| id    | bigint(20) unsigned | NO   | PRI | NULL    | auto_increment |&lt;br /&gt;
| uid   | int(10) unsigned    | NO   | MUL | NULL    |                |&lt;br /&gt;
| gid   | int(10) unsigned    | NO   |     | NULL    |                |&lt;br /&gt;
+-------+---------------------+------+-----+---------+----------------+&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Fill Users:&lt;br /&gt;
 insert into groups (gid, groupname) values (1, &amp;#039;Admins&amp;#039;);&lt;br /&gt;
 insert into groups (gid, groupname) values (2, &amp;#039;Users&amp;#039;);&lt;br /&gt;
 insert into groups (gid, groupname) values (3, &amp;#039;IT&amp;#039;);&lt;br /&gt;
 insert into groups (gid, groupname) values (4, &amp;#039;HR&amp;#039;);&lt;br /&gt;
 insert into groups (gid, groupname) values (5, &amp;#039;Something Else&amp;#039;);&lt;br /&gt;
 insert into groups (gid, groupname) values (6, &amp;#039;Not Sure&amp;#039;);&lt;br /&gt;
&lt;br /&gt;
Fill Users:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
import _mysql&lt;br /&gt;
import random&lt;br /&gt;
import string&lt;br /&gt;
&lt;br /&gt;
DBHOST=&amp;#039;XXX&amp;#039;&lt;br /&gt;
DBUSER=&amp;#039;XXX&amp;#039;&lt;br /&gt;
DBPASSWORD=&amp;#039;XXX&amp;#039;&lt;br /&gt;
DBDB=&amp;#039;XXX&amp;#039;&lt;br /&gt;
&lt;br /&gt;
def rstr(N):&lt;br /&gt;
  N=random.randint(1, N)&lt;br /&gt;
  return &amp;#039;&amp;#039;.join(random.choice(string.ascii_uppercase + string.digits) for _ in range(N))&lt;br /&gt;
&lt;br /&gt;
db=_mysql.connect(host=DBHOST,user=DBUSER,&lt;br /&gt;
                  passwd=DBPASSWORD,db=DBDB)&lt;br /&gt;
&lt;br /&gt;
i = 1&lt;br /&gt;
while True:&lt;br /&gt;
  #db.query(&amp;quot;&amp;quot;&amp;quot;insert into users (username, name, phone, address) values (&amp;#039;username&amp;#039;, &amp;#039;name&amp;#039;, &amp;#039;phone&amp;#039;, &amp;#039;address&amp;#039;);&amp;quot;&amp;quot;&amp;quot;)&lt;br /&gt;
  #db.errno()&lt;br /&gt;
  db.query(&amp;quot;&amp;quot;&amp;quot;insert into users (username, name, phone, address) values (&amp;#039;%s&amp;#039;, &amp;#039;%s&amp;#039;, &amp;#039;%s&amp;#039;, &amp;#039;%s&amp;#039;);&amp;quot;&amp;quot;&amp;quot; % (rstr(10), rstr(20), rstr(10), rstr(30)))&lt;br /&gt;
  i = i + 1&lt;br /&gt;
  print i&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fill Groups:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
import _mysql&lt;br /&gt;
import random&lt;br /&gt;
&lt;br /&gt;
DBHOST=&amp;#039;XXX&amp;#039;&lt;br /&gt;
DBUSER=&amp;#039;XXX&amp;#039;&lt;br /&gt;
DBPASSWORD=&amp;#039;XXX&amp;#039;&lt;br /&gt;
DBDB=&amp;#039;XXX&amp;#039;&lt;br /&gt;
&lt;br /&gt;
db=_mysql.connect(host=DBHOST,user=DBUSER,&lt;br /&gt;
                  passwd=DBPASSWORD,db=DBDB)&lt;br /&gt;
db2=_mysql.connect(host=DBHOST,user=DBUSER,&lt;br /&gt;
                  passwd=DBPASSWORD,db=DBDB)&lt;br /&gt;
db.query(&amp;#039;select uid from users&amp;#039;);&lt;br /&gt;
r=db.use_result()&lt;br /&gt;
while True:&lt;br /&gt;
  uid=r.fetch_row()[0][0]&lt;br /&gt;
  print uid&lt;br /&gt;
  for i in range(1, 6):&lt;br /&gt;
    gid=random.randint(1,6)&lt;br /&gt;
    db2.query(&amp;quot;&amp;quot;&amp;quot;insert into user_groups (uid, gid) values (%s, %s);&amp;quot;&amp;quot;&amp;quot; % (uid, gid))&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
DB Create:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mysqldump -h HOST -u USER -pPASSWORD DBDB --no-data --compact    # cleaned up...&lt;br /&gt;
CREATE TABLE `groups` (&lt;br /&gt;
  `gid` int(11) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `groupname` varchar(20) NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`gid`)&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `user_groups` (&lt;br /&gt;
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `uid` int(10) unsigned NOT NULL,&lt;br /&gt;
  `gid` int(10) unsigned NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`),&lt;br /&gt;
  KEY `uid` (`uid`,`gid`)&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `users` (&lt;br /&gt;
  `uid` int(10) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `username` varchar(20) NOT NULL,&lt;br /&gt;
  `name` varchar(40) NOT NULL,&lt;br /&gt;
  `phone` varchar(20) NOT NULL,&lt;br /&gt;
  `address` varchar(100) NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`uid`),&lt;br /&gt;
  UNIQUE KEY `username` (`username`)&lt;br /&gt;
);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Show indexes in mysql:&lt;br /&gt;
 mysql&amp;gt; show index from users.users;&lt;br /&gt;
 mysql&amp;gt; show index from users.user_groups;&lt;br /&gt;
 mysql&amp;gt; show index from users.groups;&lt;br /&gt;
&lt;br /&gt;
Test speed:&lt;br /&gt;
 mysql&amp;gt; select * from users, groups, user_groups where username = &amp;#039;001Bgh1GTZ7hW3O&amp;#039; and user_groups.gid = groups.gid and users.uid = user_groups.uid;&lt;br /&gt;
&lt;br /&gt;
 mysql&amp;gt; select * from users, groups, user_groups where username = (select uid from users where id=1000001) and user_groups.gid = groups.gid and users.uid = user_groups.uid;&lt;/div&gt;</summary>
		<author><name>Kenneth</name></author>
	</entry>
</feed>