代码改变世界

MYSQL常用操作

2012-10-30 19:17  owenyang  阅读(230)  评论(0编辑  收藏  举报

1. 如何登陆本机MySQL:

 运行->cmd 回车->mysql -h localhost -u root -p 回车 输入密码:12345
 
 “;”“ \G ”“\g”结尾
 

2. 创建数据库:

 CREATE DATABASE 数据库名
 “数据库名”表示要创建的数据库名称。
 

 3. 显示已经存在的数据库:

 SHOW DATABASES;
 

4. 删除数据库:

 DROP DATABASE 数据库名;
 

 5.查看数据库的存储引擎:

 SHOW ENGINES\G  或者:SHOW VARIABBLES LIKE 'have%';
 

 6.查看默认存储引擎:

 SHOW VARIABLES LIKE 'storage_engine';
 
 InnoDB存储引擎中,创建的表的表结构存储在.frm文件中。
 
 MyISAM存储引擎支持3种不同的存储格式,静态型、动态型和压缩型(myisampack工具创建)。
 文件扩展名:frm(存储表的结构)、MYD(存储数据)和MYI(存储索引)。
 

7. 创建表的SQl语句: CREATE TABLE

 语法形式:CREATE TABLE 表名(属性名 数据类型 [完整性约束条件],
                              属性名 数据类型 [完整性约束条件],
                              . . .
                              属性名 数据类型(注意后无逗号)
                             );

         表名 -创建的表的名称;
         属性名 -表中字段的名称;
         数据类型 -字段的数据类型;
         完整性约束条件 -指定字段的某些特殊约束条件;
 
  注意:创建之前先使用 "USE 数据库名;" 选择所需数据。
 
  完整性约束条件:PRIMARY KEY(标识该属性为该表的主键); FOREIGN KEY(标识该属性为该表的外键);  NOT NULL(标识该属性不能为空); UNIQUE(标识该属性的只是唯一的); AUTO_INCREMENT(标识该属性的值自动增加); DEFAULT(为该属性设置默认值)
 

 8.设置表的主键:

 单字段主键 语法: 属性名  数据类型  PRIMARY KEY
 多字段主键 语法: PRIMARY KEY(属性名1,属性名1,...,属性名n)。
 例如:CREATE TABLE example2(stu_id INT,
                           course_id INT,
                           grade  FLOAT,
                           PRIMARY KEY(stu_id,course_id)
                          );
 

 9.外键设置的基本语法规则:

 CONSTRAINT 外键别名 FOREING KEY (属性1.1,属性1.2,...,属性1.n)
            REFERENCES 表名(属性2.1,属性2.2,...,属性2.n)

 外键别名 -外键代号
 属性1 -参数列表是子表中设置的外键;
 表名 -参数是指父表的名称;
 属性2 -参数列表是父表的主键。
 例如:CREATE TABLE example3(id INT PRIMARY KEY,
                           stu_id INT,
                           course_id  INT,
                           CONSTRAINT c_fk FOREING KEY (stu_id, course_id)
                              REFERENCES example2(stu_id, course_id)
                          );

 10.非空约束的基本规则:

 属性名 数据类型 NOT NULL
 例如:CREATE TABLE example4(id INT NOT NULL PRIMARY KEY,
                              stu_id INT, 
                              CONSSTRAINT d_fk FOREIGN KEY(stu_id)
                                REFERNCES example1(stu_id)
                             );

 11.设置表的唯一性约束:属性名 数据类型 UNQUE

 例如:CREATE TABLE example5(id INT PRIMARY KEY,
                             stu_id INT UNIQUE,
                             name VARCHAR(20) NOT NULL
                            );
 
 

 12.设置表的属性值自动增加:

 属性名 数据类型 AUTO_INCREMENT
 一个表只能有一个字段使用AUTO_INCREMENT约束,且该字段必须为主键的一部分。
 例如:CREATE TABLE example6(id INT PRIMARY KEY AUTO_INCREMENT,
                             stu_id INT UNIQUE,
                             name VARCHAR(20) NOT NULL
                            );

 13.设置表的属性的默认值: 

属性名 数据类型 DEFAULT 默认值

 例如:CREATE TABLE example7(id iNT PRIMARY KEY AUTO_INCREMENT,
                             stu_id INT NIQUE,
                             name VARCHAR(20) NOT NULL,
                             English VARCHAR(20) DEFAULT 'zero',
                             Math FLOAT DEFAULT 0,
                             Computer FLOAT DEFAULT 0
                            );
 

 14.查看表基本单位结构语句 DESCRIBLE

 语法:DESCRIBLE 表名;    /   DESC 表名;
 例如:DESCRIBLE example1;/   DESC example;
 

 15.查看表详细结构语句: SHOW CREATE TABLE 

 语法:SHOW CREATE TABLE 表名;
 例如:SHOW CREATE TABLE example1\G
 

 16.修改表名:ALTER TABLE

 语法:ALTER TABLE 旧表名 RENAME [TO] 新表名;
 

 17.修改字段的数据类型:ALTER TABLE 

 语法:ALTER TABLE 表名 MODIFY 属性名 数据类型;
 例如:ALTER TABLE 表名 MODIFY 属性名 数据类型; 
 

18. 修改字段名:ALTER TABLE

 语法:ALTER TABLE 表名 CHANGE 旧属性名 新属性名 新数据类型;
 
 只修改字段名:ALTER TABLE example1 CHANGE stu_name name VARCHAR(20);
 修改字段名和字段数据类型:ALTER TABLE example1 CHANGE stu_sex sex INT(2);
 

 19.增加字段:ALTER TABLE

 语法:ALTER TABLE 表名 ADD 属性名1 数据类型 [完整性约束条件] [FIRST| AFTER 属性名2];
        属性名1 -指需要增加的字段名称;
        数据类型 -指新增加字段的数据类型;
        完整性约束条件 -设置新增字段的完整性约束条件;
        FIRST -将新增字段添加到“属性名2”所指的字段后;(默认添加在最后一个字段)
 

 20.增加无完整性约束条件的字段

 例如:ALTER TABLE example1 ADD phone VACGAR(20);
 

 21.增加完整性约束条件的字段:

 例如:ALTER TABLE example1 ADD age INT(4) NOT NULL;
 

 22.表的第一个位置增加字段:

 例如:ALTER TABLE example1 ADD num INT(8) PRIMARY KEY FIRST;
 

 23.表的指定位置之后增加字段:

 例如:ALTER TABLE example1 ADD address VARCHAR(30) NOT NULL AFTER phone;
 
 

 24.删除字段:ALTER TABLE 

 语法:ALTER TABLE 表名 DROP 属性名;
 属性名 -指需要从表中删除的字段的名称
 例如:ALTER TABLE example1 DROP stu_id;
 

 25.修改字段的排列位置:ALTER TABLE

 语法:ALTER TABLE 表名 MODIFY 属性名1 数据类型 FIRST|AFTER 属性名2;
 

 26.字段修改到第一的位置:

 例如:ALTER TABLE example1 MODIFY name VARCHAR(20) FIRST;
 

 27.字段修改到指定位置:

AFTER -参数可以将字段排在表中指定的字段之后
 例如:ALTER TABLE example1 MODIFY num INT(8) AFTER phone;
 
 修改表的存储引擎:InnoDB \ MyISAM \ MEMORY
 语法:ALTER TABLE 表名 ENGINE=存储引擎名;
 例如:ALTER TABLE example1 ENGINE=MyISAM;
 

 28.删除没有关联的普通表:TROP TABLE

 语法:TROP TABLE 表名;
 例如:TROP TABLE example5;
 

 29.删除被其他关联的父表:

1.先删除子表的外键约束,然后再删除附表;2.先删除子表,再删除父表;
 
 删除外间的方法:ALTER TABLE 表名 DROP FOREIGN KEY 外键别名;
 例如:ALTER TABLE example4 DROP FOREIGN KEY d_FK;