MYSQL 学习笔记二 数据库引擎与数据表的基本操作

来源:互联网 发布:怎么利用大数据抄股票 编辑:程序博客网 时间:2024/05/19 02:31

查看系统所支持引擎类型 

SHOW ENGINES  \G;



MYSQL 5.1.71 支持5种 存储引擎: InnoDB,MyISAM 默认引擎,MEMORY,CSV,MRG_MYISAM

Support 表示引擎是否可以使用:yes表示可以,NO 表示不能,default 表示当前默认的存储引擎。

从5.5以后默认InnoDB 为默认存储引擎。





数据表的基本操作

创建数据表的语法格式


创建表之前先要指定数据库,因为表属于数据库

使用USE 数据库名称  指定要创建表的数据库。

如果不指定数据库 会出现

ERROR 1046 (3D000): No database selected





创建数据表语句为 CREATE TABLE ,语法格式如下:

CREATE TABLE <表名>

     字段1 数据类型,

     字段2 数据类型,

      [约束条件]

默认情况下mysql表名 是区分大小写的,而且不能使用SQL 中的关键字入DROP ,ALTER,INSERT 等。

创建多个列用逗号隔开。


使用SHOW TABLES; 查看数据库中的数据表;




主键约束

       主键,又称主码,是表中一列或者多列的组合。主键约束(Primary Key Constraint)要求主键列数据的唯一,并且不允许为空。
主键能够唯一的标识表中的一条记录,相当于人的身份证 跟每个人是一一对应的。分为单字段主键和多字段联合主键。
  

   单字段主键格式
    字段名  数据类型 PRIMARY KEY



利用DESC 表名 查看表的详细结构信息。
DESCRIBE / DESC 
这个缩写跟降序那个是相同的,头一次发现还有重复的命令。 


也可以在最后指定主键
CREATE TABLE FF( ID INT(11),NAME VARCHAR(25),PRIAMRY KEY (ID));

对应的多字段联合主键

CREATE TABLE FF
  ID INT(11),
NAME VARCHAR(25),
SALARY FLOAT,
PRIMARY KEY(ID,NAME)
);

外键约束 

       外键用来在两个表之间建立连接,可以是一列或者多列,一个表可以有多个外键。
外键可以为空,但如果不为空,对应的必定是主表的主键的一个值。 主键所在的表为主表 ,外键所在的表为从表。

语法格式:
CONSTRAINT <外键名> FOREIGN KEY 字段1,字段2.。。。REFERENCES <主表名> 主键列1,主键列2.。。。
外键名在一个表中不能重负

CREATE TABLE F1

    ID  INT(11) PRIMARY KEY,
    DEPTID INT(11),
 CONSTRAINT F1WJ FOREIGN KEY(DEPTID) REFERENCES FF(ID)
);
    DESC 查看一下表结构


非空约束 NOT NULL;


唯一性约束 UNIQUE 要求该列唯一的。可以为空值,但只能有一个空值。可以确保该列中没有重复的信息。


UNIQUE 与PRIMARY KEY的 区别,一个表可以有多个UNIQUE 但是只能有一个PRIMARY KEY (不是一列PRIMARY KEY ,因为可以多列组合)
而且PRIMARY KEY 不能有空值,而UNIQUE 可以。

默认约束 DEFAULT

指定默认值 如性别的 男 与 女。

CREATE TABLE F2

    ID  INT(11) PRIMARY KEY,
    DEPTID INT(11),
    GENDER CHAR(2) DEFAULT '男'
);


属性自动增加


AUTO_INCREMENT


查看创建表的详细信息

SHOW CREATE TABLE  表名 \G
\G 后格式好看 不混乱。





修改表名



ALTER TABLE F2 RENAME F3;



修改字段名

ALTER TABLE 表名 CHANGE 旧字段 新字段 数据类型
数据类型不能为空

修改字段数据类型 
ALTER TABLE 表名 MODIFY 字段 【FIRST|AFTER】

增加列

ALTER TABLE 表名 ADD 字段  [FIRST| AFTER name ]

删除列 

ALTER TABLE 表名 DROP 字段 

更改表的存储引擎

ALTER TABLE 表名 ENGINE=新引擎名字;
改完用SHOW CREATE TABLE 表 查看。