你这个应该是多对多的关系,所以建议你这样建表。
在菏泽等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供网站设计、成都做网站 网站设计制作定制开发,公司网站建设,企业网站建设,品牌网站建设,营销型网站建设,外贸营销网站建设,菏泽网站建设费用合理。
1、创建一个用户信息表
2、创建一个商品信息表
3、创建一个用户和商品关系表
通过以上三个表可以直观的表示出用户和商品的关系也就是哪些用户关注了哪些商品!
MySQL 的 体系结构 与 Oracle 不一样
Oracle , 是一个 数据库, 一套 服务。 不同的用户, 有 不同的 方案。
也就是 假如你的数据库 有 2个 用户 A, B 他们都创建了一个 test 表
那么
可以通过 SELECT * FROM A.test 和 SELECT * FROM B.test 来 访问这 些表。
MySQL , 是 一套 服务下面, 可以创建多个数据库。
MySQL 下面, 通过
CREATE DATABASE 数据库名;
来创建数据库
并使用
USE 数据库名;
来在不同的数据库之间切换。
但是 用户 和 数据库 不直接关联。
也就是你的 MySQL 服务里面, 可以有 2个 数据库 A, B。 下面都有 test 表。
那么
可以通过 SELECT * FROM A.test 和 SELECT * FROM B.test 来 访问这 些表。
假如 登陆进去了,但是在实例上建表的时候提示我不可以建表
有可能是 你还没有 选择数据库
或者是 你没有权限。
1、显示数据库列表。
show
databases;
刚开始时才两个数据库:mysql和test。mysql库很重要它里面有MYSQL的系统信息,我们改密码和新增用户,实际上就是用这个库进行操作。
2、显示库中的数据表:
use
mysql;
//打开库,学过FOXBASE的一定不会陌生吧
show
tables;
3、显示数据表的结构:
describe
表名;
4、建库:
create
database
库名;
5、建表:
use
库名;
create
table
表名
(字段设定列表);
6、删库和删表:
drop
database
库名;
drop
table
表名;
7、将表中记录清空:
delete
from
表名;
8、显示表中的记录:
select
*
from
表名;
表的相关操作
SQLyog的最大优点就是简化了对MySQL的操作,这里只是简要地罗列了与表相关的操作。
1. 创建表
在左侧的导航中选择所要操作的数据库,单击鼠标右键,从弹出的快捷菜单中选择Create Table命令,创建新表,如图1.52所示。
2. 设置字段
在弹出的界面中,输入字段名(Field Name),设置字段类型(Datatype),设置字段长度(Len),对于一些字段还可以设置相关的约束--常用的选项有主键约束(PK)、非空约束 (Not Null)、自增长(Auto Increment),如图1.53所示。
字段内容设置完之后,单击Create Table按钮,设置表名,即可完成表的创建。当然也可以直接运行SQL语句,在代码区域输入相应的SQL语句,然后执行语句,即可完成相应的操作,如图1.54所示。
3. 添加数据
在左边的导航栏选中要操作的表,在右边选择Table Data,然后可以直接输入相关数据来完成添加数据的任务,如图1.55所示。
4. 备份数据
单击Export as按钮,可以将此表输出为各种格式保存,通常保存为SQL语句,在保存的时候可以选择要输出的字段,如图1.56所示。
输出的SQL文件位于SQLyog所在的目录之中。打开SQL文件可以看到输出的标准SQL语句,如图1.57所示。
第一步:安装MySQL客户端
当然你得确保MySQL客户端已经安装完毕。如果没有的话,可以按照下面的方法。
在Debian,Ubuntu 或者 Linux Mint上:
$ sudo apt-get install mysql-client
$ sudo apt-get install mysql
第二步:登陆到MySQL服务器
首先,你需要使用root用户登陆进你的MySQL数据库,如下:
$ mysql -u root -h -p
请注意:为了能登进远程的MySQL服务器,你需要开启服务器上的远程访问,如果你想调用同一主机上的MySQL服务器,你可以省略 "-h " 参数
$ mysql -u root -p
你将需要输入MySQL服务器的密码,如果认证成功,MySQL提示将会出现。
第三步:创建一个MySQL数据库
在MySQL提示中输入命令之前,请记住所有的命令都是以分号结束的(否则将不会执行)。另外,考虑输入命令的时候使用大些字母,输入数据库对象使用小写字母。但那不是必须的,只是方便的阅读。
现在,创建一个叫做xmodulo_DB的数据库:
mysql CREATE DATABASE IF NOT EXISTS xmodulo_DB;
第四步:创建一个数据库表
为了达到演示的目的,创建一个叫做posts_tbl的表,表里会存储关于文章的如下信息:
文章的标题
作者的名字
作者的姓
文章可用或者不可用
文章创建的日期
这个过程分两步执行:
首先,选择需要使用的数据库:
mysql USE xmodulo_DB;
然后,在数据库中创建新表:
mysql CREATE TABLE 'posts_tbl' (
'post_id' INT UNSIGNED NOT NULL AUTO_INCREMENT,
'content' TEXT,
'author_FirstName' VARCHAR(100) NOT NULL,
'author_LastName' VARCHAR(50) DEFAULT NULL ,
'isEnabled' TINYINT(1) NOT NULL DEFAULT 1,
'date' TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ,
PRIMARY KEY ( 'post_id' )
TYPE = MYISAM;
第五步:创建一个用户,并授予权限
当涉及到访问新创的数据库和表的时候,创建一个新用户是一个很好的主意。这样做就可以让用户在没有整个MySQL服务器权限的情况下,去访问那个数据库(而且只能是那个数据库)
你可以创建新用户,授予权限,并且使改变生效:
mysql GRANT ALL PRIVILEGES ON xmodulo_DB.* TO 'new_user'@'%' IDENTIFIED BY 'new_password';
mysql FLUSH PRIVILEGES;
'newuser'和'newpassword'分别指的是新的用户名和他的密码。这条信息将会被保存在mysql.user表中,而且密码会被加密。
第六步:测试
先插入一个虚拟的记录到posts_tbl表:
mysql USE xmodulo_DB;
mysql INSERT INTO posts_tbl (content, author_FirstName, author_Las tName)
VALUES ('Hi! This is some dummy text.', 'Gabriel', 'Canepa');
然后查看posts_tbl表中的所有记录:
mysql SELECT * FROM posts_tbl;
注意:MySQL会在先前定义的地方自动插入适当的默认值(比如,'isEnabled'和'date')。