MySql命令总结

数据库操作

1. 创建数据库

CREATE DATABASE 数据库名;

2. 删除数据库

DROP DATABASE 数据库名;

3. 查看数据库

SHOW DATABASES;

4. 查看数据库的存储引擎

SHOW ENGINES\G

或者:SHOW VARIABBLES LIKE 'have%';

5. 查看默认存储引擎

SHOW VARIABLES LIKE 'storage_engine';

表操作

1.   创建表操作

创建表的SQl语句: CREATE TABLE

语法形式:CREATE TABLE 表名(属性名 数据类型 [完整性约束条件],

                             属性名 数据类型 [完整性约束条件],

                             . . .

                             属性名 数据类型(注意后无逗号)

                            );

          表名 -创建的表的名称;

        属性名 -表中字段的名称;

      数据类型 -字段的数据类型;

完整性约束条件 -指定字段的某些特殊约束条件;

 

注意:创建之前先使用 "USE 数据库名;" 选择所需数据。

 

完整性约束条件:PRIMARY KEY(标识该属性为该表的主键); FOREIGN KEY(标识该属性为该表的外键);  NOT NULL(标识该属性不能为空); UNIQUE(标识该属性的只是唯一的); AUTO_INCREMENT(标识该属性的值自动增加); DEFAULT(为该属性设置默认值)

 

设置表的主键:

单字段主键 语法: 属性名  数据类型  PRIMARY KEY

多字段主键 语法: PRIMARY KEY(属性名1,属性名1,...,属性名n)。

例如:CREATE TABLE example2(stu_id INT, 

                          course_id INT,

                          grade  FLOAT,

                          PRIMARYKEY(stu_id,course_id)

                         );

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

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_fkFOREING KEY (stu_id, course_id)

                             REFERENCES example2(stu_id, course_id)

                         );

非空约束的基本规则:属性名 数据类型 NOT NULL

例如:CREATE TABLE example4(id INT NOT NULL PRIMARY KEY,

                             stu_id INT,

                             CONSSTRAINT d_fk FOREIGNKEY(stu_id)

                               REFERNCESexample1(stu_id)

                            );

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

例如:CREATE TABLE example5(id INT PRIMARY KEY,

                            stu_id INT UNIQUE,

                            name VARCHAR(20)NOT NULL

                           );

设置表的属性值自动增加:属性名 数据类型 AUTO_INCREMENT

一个表只能有一个字段使用AUTO_INCREMENT约束,且该字段必须为主键的一部分。

例如:CREATE TABLE example6(id INT PRIMARY KEY AUTO_INCREMENT,

                            stu_id INT UNIQUE,

                            name VARCHAR(20) NOT NULL

                           );

设置表的属性的默认值: 属性名 数据类型 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 DEFAULT0,

                            Computer FLOATDEFAULT 0

                           );

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

语法:DESCRIBLE 表名;    /   DESC 表名;

例如:DESCRIBLE example1;/   DESC example;

3.   查看表详细结构语句

SHOW CREATE TABLE 表名;

4.   修改表名

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

5.       删除表操作

DROP TABLE `tablename`;

字段操作

1.       修改字段的数据类型

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

2.       修改字段名

语法:ALTER TABLE 表名 CHANGE 旧属性名新属性名 新数据类型;

只修改字段名:ALTERTABLE example1 CHANGE stu_name name VARCHAR(20);

修改字段名和字段数据类型:ALTER TABLE example1 CHANGE stu_sex sex INT(2);

3.       增加字段

语法:ALTERTABLE 表名 ADD 属性名数据类型 [完整性约束条件] [FIRST| AFTER 属性名2];

       属性名1 -指需要增加的字段名称;

      数据类型 -指新增加字段的数据类型;

完整性约束条件 -设置新增字段的完整性约束条件;

         FIRST -将新增字段添加到“属性名2”所指的字段后;(默认添加在最后一个字段)

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

例如:ALTERTABLE example1 ADD phone VACGAR(20);

 

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

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

 

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

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

 

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

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

4.       删除字段

语法:ALTERTABLE 表名 DROP 属性名;

属性名 -指需要从表中删除的字段的名称

例如:ALTER TABLE example1 DROP stu_id;

5.       修改字段的排列位置

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

 

字段修改到第一的位置:

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

 

字段修改到指定位置:AFTER-参数可以将字段排在表中指定的字段之后

例如:ALTER TABLE example1 MODIFY num INT(8) AFTER phone;

存储引擎操作

1.       修改表的存储引擎

语法:ALTERTABLE 表名 ENGINE=存储引擎名;

例如:ALTER TABLE example1 ENGINE=MyISAM;

索引操作

索引的创建可以在CREATE TABLE语句中进行,也可以单独用CREATEINDEX或ALTER TABLE来给表增加索引。删除索引可以利用ALTER TABLE或DROP INDEX语句来实现。

1.       创建索引

(1)使用ALTER TABLE语句创建索引。

语法如下:

alter table table_name add index index_name (column_list) ;

alter table table_name add unique (column_list) ;

alter table table_name add primary key (column_list) ;

其中包括普通索引、UNIQUE索引和PRIMARYKEY索引3种创建索引的格式,table_name是要增加索引的表名,column_list指出对哪些列进行索引,多列时各列之间用逗号分隔。索引名index_name可选,缺省时,MySQL将根据第一个索引列赋一个名称。另外,ALTER TABLE允许在单个语句中更改多个表,因此可以同时创建多个索引。

创建索引的示例如下:

mysql> use tpsc

Database changed

mysql> alter table tpsc add index shili (tpmc ) ;

Query OK, 2 rows affected (0.08 sec)

Records: 2Duplicates: 0 Warnings: 0

(2)使用CREATE INDEX语句对表增加索引

能够增加普通索引和UNIQUE索引两种。其格式如下:

create index index_name on table_name (column_list) ;

create unique index index_name on table_name (column_list) ;

说明:table_name、index_name和column_list具有与ALTERTABLE语句中相同的含义,索引名不可选。另外,不能用CREATE INDEX语句创建PRIMARY KEY索引。

2.       删除索引

删除索引可以使用ALTERTABLE或DROP INDEX语句来实现。DROP INDEX可以在ALTER TABLE内部作为一条语句处理,其格式如下:

drop index index_name on table_name ;

alter table table_name drop index index_name ;

alter table table_name drop primary key ;

其中,在前面的两条语句中,都删除了table_name中的索引index_name。而在最后一条语句中,只在删除PRIMARY KEY索引中使用,因为一个表只可能有一个PRIMARY KEY索引,因此不需要指定索引名。如果没有创建PRIMARY KEY索引,但表具有一个或多个UNIQUE索引,则MySQL将删除第一个UNIQUE索引。

如果从表中删除某列,则索引会受影响。对于多列组合的索引,如果删除其中的某列,则该列也会从索引中删除。如果删除组成索引的所有列,则整个索引将被删除。

删除索引的操作,如下面的代码:

mysql> drop index shili on tpsc ;

Query OK, 2 rows affected (0.08 sec)

Records: 2Duplicates: 0 Warnings: 0

其他命令

查看表状态信息  SHOW TABLE STATUS

SHOW TABLE STATUS from db_name                  //所指数据库中所有表的信息
SHOW TABLE STATUS from db_name LIKE 'uc%'    //表名以uc开头的表的信息



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值