注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

天边云E家 shaoruisky

IT博文共享,知识的海洋

 
 
 

日志

 
 

MYSQL笔记  

2008-11-10 16:39:34|  分类: mysql |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

1,显示当前系统版本,当前系统日期,当前系统时间,当前使用者.

select version(),current_date(),now(),user();

结果:

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

| version()       | current_date() | now()         user()         |

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

| 5.0.22-community-nt | 2008-01-08     | 2008-01-08 13:20:58 | root@localhost |

 

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

1 row in set (0.00 sec)

 

2,显示数据库,表alter table test11 add primary key(no);

  a, show databases;显示已经存在的所有数据库.

  b,select database();显示当前使用的数据库.

  c,show tables;显示当前数据库中数据表.

  d,show index from table_name;可用于显示table_name中的主外键信息.

 

3,建立数据库,数据表

create database database_name;

create table table_name(,,,,,);

例如:

computer(id     name      mac       ip             os 

cup    monitor    memory    hard_drive    main_chip);

user(name    no   id    dep_no);

department(name    dep_no);

use_pc(id   user_no  pc_id );

 

  create table computer(

                                   id char(12) not null unique,

                                   name varchar(20) not null,

                                   mac char(17) not null unique,

                                   ip varchar(15) unique,

                                   os varchar(20),

                                   cpu varchar(30),

                                   monitor varchar(20),

                                   memory int(6) unsigned,

                                   hard_drive int(4) unsigned,

                                   //main_chip varchar(30),

                                   primary key(id)

);

追加一列:alter table computer main_chip varchar(30);//alter后面一定要带上table

  create table user(

                                   name char(10) not null,

                                   no int(6) unsigned not null unique,

                                   id varchar(18) not null unique,

                                   sex char(2) default '女',

                                   dep_no varchar(10) not null,

                                   primary key(no)

);

追加外码(dep_no):

alter table user add foreign key(dep_no) references department(dep_no) on update cascade on delete restrict;

create table department(

                                   name char(10) not null,

                                   dep_no varchar(10) not null unique,

                                   primary key(dep_no)

);

 

create table use_pc(

                            id int(6) unsigned not null primary key auto_increment,

                            user_no int(6) unsigned not null,

                            pc_id char(12) not null,

                            foreign key(user_no) references user(no) on update cascade on delete restrict,

                            constraint foreign key(pc_id) references computer(id) on update cascade on delete restrict

);

4,描述表结构

desc table_name;//describle 不能用.

 

5,插入数据

a ,computer:

insert into computer values('A002998C0C51','Dn_baojian','00-19-DB-FC-53-B9','192.168.21.13','WIN_XP,Linux','Intel酷睿赛扬420','VA721',512,80,'MSI 945GCM8-F');

b ,user:

insert into user values('杨杰',7100,'429005198505273093','dn');

insert into user values('朱宝剑',6886,'360731198407290312','dn');

c ,department:

insert into department values('电脑组','dn');

d ,use_pc:

insert into use_pc(user_no,pc_id) values(6886,'A002998C0C51');

 

 

6 ,综合应用

select a.name as '使用者',b.name as '部门',c.ip as 'IP' ,c.mac as'MAC',c.name as '电脑名'

from user a,department b,computer c ,use_pc d

where c.id=d.pc_id and d.user_no = a.no and b.dep_no = a.dep_no;(最初联合查询)

<=>

select user_name as '使用者',dep_name as '部门',ip as 'IP' ,mac as'MAC',pc_name as '电脑名'

from user a,department b,computer c ,use_pc d

where c.pc_id=d.pc_id and d.user_no = a.user_no and b.dep_no = a.dep_no;(现阶段)

结果:

mysql> select a.name as '使用者',b.name as '部门',c.ip as 'IP' ,c.mac as'MAC',c.name as '电脑名'

    -> from user a,department b,computer c ,use_pc d

    -> where c.id=d.pc_id and d.user_no = a.no and b.dep_no = a.dep_no;

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

| 使用者 | 部门   | IP            | MAC               | 电脑名     |

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

| 朱宝剑 | 电脑组 | 192.168.21.13  | 00-19-DB-FC-53-B9   | Dn_baojian  |

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

7,改名字,computer(name)->pc_name.  computer(id)->pc_id. 

user(name)->user_name     user(no)->user_no   user(id)->user_id 

department(name)->dep_name

use_pc(id)->use_pc_id

alter table computer change name pc_name varchar(20) not null;//必须加上最后的字段类型

computer(pc_id     pc_name      mac       ip         os 

cpu    monitor    memory    hard_drive    main_chip);

 

user(user_name    user_no   sex    user_id    dep_no);

//加一个性别列: alter table user add sex char(2) default '女';

 

department(dep_name    dep_no);

 

use_pc(use_pc_id   user_no  pc_id );

 

8,数据库维护

  a, 检测数据库sqlcheck [-r]-u root -p --all-databases//末尾没’;’,”-r”是修复有问题的数据库,--all-databases<=>-A,也可以是特定的某个已知的数据库.

  mysqlcheck [-r]-u root -p -? 帮助//-?<=>--help.

  b, 导出数据库:全局控制台mysqldump -u root -p database_name/database_name.table_name>文件路径及名字(不用给后缀)

  c, 导入数据库MYSQL控制台,例如mysql>source d:\wcnc_db.sql

9,insert用法

基本:insert into table_name values()[,(),()…….][条件].

例如:insert into department values(‘电脑组’,’dn’),(‘IE组’,’’),(‘’,’’);//多值插入

10,alter修改主键,外键的用法

  a,  主键可以修改,可以删除,但是注意在修改或者删除某个表的主键是注意先备份该表.

操作如下:create table new_table_name like old_table_name;

               insert into new_table_name select * from old_table_name;

  b,  外键可以删除,但必须有外键标识fk_.所以在建立或者增加外键的时候注意记得命名.

      alter table table_name add constraint fk_XX foreign key(XX) references table_other_name(XX);

           alter table table_name drop foreign key f_k_name;

  c,  在drop table的时候,有外键连接的表不能直接删除,这个时候可以删除连接表的外键然后再删除该表,也可预先删除连接的表(先复制到另外一个表再删除,操作同上).

 

11,数据导入数据库,数据导出数据库

a,  导入

Load data infile ‘D:\\pc_infor.txt’ into table pc_infor fields terminated by ‘\t’;

b,  导出

Select * from pc_infor into outfile ‘D:\\1.txt’;

说明:1,“D:\\pc_infor.txt”为数据存放的绝对路径。文件应已经存在,并且要先在EXCEL中编辑好,然后另存为(文本文件,以制表符分割的.txt)文件。

           2,pc_infor 为数据库中保存数据的表,应该与文件的信息栏位对应一致。

           3,“D:\\1.txt”该文件应该不存在,而要被生成的。


 

       C,.mysql导出数据库一个表

    mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名

    mysqldump -u wcnc -p smgp_apps_wcnc users> wcnc_users.sql

  评论这张
 
阅读(117)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2016