Mysql多表查询,多表插入和多表更新
/*************************************by
garcon1986*****************************************************/
多表查询:
CREATE TABLE IF NOT EXISTS contact(
contact_id int(11) NOT NULL AUTO_INCREMENT,
user_name varchar(255),
nom varchar(255),
prenom varchar(255),
mail varchar(64),
passcode char(64),
PRIMARY KEY(contact_id)
);
CREATE TABLE IF NOT EXISTS droit(
droit_id int( 11 ) NOT NULL AUTO_INCREMENT ,
droit varchar(255),
PRIMARY KEY(droit_id)
);
CREATE TABLE IF NOT EXISTS contactdroit(
contactdroit_id int(11) NOT NULL AUTO_INCREMENT,
contact_id int( 11 ),
droit_id int( 11 ),
PRIMARY KEY( contactdroit_id )
);
Insert into contact(contact_id, user_name) values(1,'user1');
Insert into contact(contact_id, user_name) values(2,'user2');
Insert into contact(contact_id, user_name) values(3,'user3');
Insert into droit(droit_id, droit) values(1,'admin');
Insert into droit(droit_id, droit) values(2,'superuser');
Insert into contactdroit(contact_id, droit_id) values(1, 1);
Insert into contactdroit(contact_id, droit_id) values(2, 1);
Insert into contactdroit(contact_id, droit_id) values(3, 2);
SELECT c.contact_id, d.droit_id, d.droit from contact c, contactdroit
cd, droit d
where c.contact_id = cd.contact_id
and cd.droit_id = d.droit_id;
结果:
contact_id droit_id droit
1 1 admin
2 1 admin
3 2 superuser
多表联查例子:
两个方法都可以,inner join on 更好点。
表结构没贴出来,但比较好懂了。
简单方法:
select c.nom, e.nom
from consul
相关文档:
CREATE TABLE `user` (
`db_id` varchar(255) NOT NULL,
`name` varchar(45) default NULL,
`age` int(10) unsigned NOT NULL,
`address` varchar(45) default NULL,
PRIMARY KEY (`db_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
// 设置name='888'的age等于name='111' ......
1. 开始->控制面板->添加或删除程序->卸载mysql
2. 假设之前mysql的安装目录是C:\Program Files\MySQL\MySQL Server 5.1/, 那么这个下面还保留了一些东西,打开my.ini
3. 找到#Path to the database root, 然后按照这个Path找到mysql,删掉
4. 把C:\Program Files\MySQL也删掉
5. 开始->运行 输入r ......
一 . 安装与配置MYSQL
二 . 常用mysql命令行命令
1 .mysql的启动与停止
启动MYSQL服务 net start mysql
停止MYSQL服务 net stop mysql
2 . netstat –na | findstr 3306 查看被监听的端口 , findstr用于查找后面的端口是否存在
3 . 在命令行中登陆 ......
一般赋予浮点列的值被四舍五入到这个列所指定的十进制数。如果在一个FLOAT(8, 1)的列中存储1. 2 3 4 5 6,则结果为1. 2。如果将相同的值存入FLOAT(8, 4) 的列中,则结果为1. 2 3 4 6。这表示应该定义具有足够位数的浮点列以便得到尽可能精确的值。如果想精确到千分之一,那就不要定义使该类 ......
/*****************by
garcon1986************************************************************/
通用规则:
整
个数据库里的名字都尽量使用小写。这样能消除由于大小写(
case-sensitivity
)带来
的错误。
Mysql
默认区分大小写。
使
用下划线断开名字,名字中不能
使用空格。
名字中尽量不要
使
用数 ......