当前位置: 首页 > SQL > 正文

MySQL学习笔记(一)

初学MySQL,感觉SQL语句还是有点多,在此做一些MySQL的基础笔记,以防忘记。

1. 连接数据库: mysql -h hostname -u username -p

默认情况下是连接本地的数据库,所以上面可以简写为:mysql -u  root -p

2. 显示数据库:SHOW DATABASES;

3. 创建数据库:CREATE DATABASE db1;

4. 删除数据库:DROP DATABASE db1;

5. 使用某一数据库:USE db1;

6. 显示该数据库中所有的表:SHOW TABLES;

7. 创建表:CREATE TABLE  <表名> (字段 数据类型 [约束条件] [默认值/其他属性] );

这里讲解常用的约束:

(1)主键约束,可以加快查询速度,要求主键列的数据唯一且不为空。一种是上面的设置方式,另为一种是在字段的最后加上:PRIMARY KEY [字段1,字段2,…]  

(2)外键约束,建立两个数据表之间的链接,它是表中的一个字段,对应另一个表的主键,其作用是保持数据的一致性与完整性。涉及的主表与从表概念:主表(父表):相关联字段中主键所在的那个表;从表(子表):相关联字段中外键所在的那个表。子表的外键必须关联父表的主键,且关联字段的数据类型必须匹配。

语法规则如下:CONSTRAINT <外键名> FOREIGN KEY [字段1,字段2,…] REFERENCES <主键名> [主键列1,主键列2,…]

(3)非空约束:指定字段的值不为空,语法:NOT NULL

(4)唯一性约束:指明该列唯一,允许为空,但只能有一个空值,它与主键的区别是:一个表只允许存在一个主键,且主键列不许为空,而声明UNIQUE的字段可以有多个,且允许为空。它使用与主键一样,可以在数据类型后面加上,也可以在所有字段后面加上 CONSTRAINT <约束名> UNIQUE (字段名)  

(5)默认约束:定义默认值,使用DEFAULT关键词。

   当然还有一个设置自动增加的属性:AUTO_INCREMENT。一个表只允许有一个AUTO_INCREMENT,且它必须为主键的一部分。其字段的数据类型可以为任意整型类型(TINYINT、SMALLIN、INT、BIGINT等)。

8. 查看表结构:DESC tab1;

当需要查看创建表的详细信息时,可以使用:SHOW CREATE TABLE tab1\G;

9. 修改表名:ALTER TABLE <旧表名> RENAME <新表名>;

10. 修改字段名:ALTER TABLE <表名> CHANGE <旧字段名> <新字段名> <新数据类型>;

11. 修改字段的数据结构:ALTER TABLE <表名> MODIFY <字段名> <数据类型>;

12. 添加字段:ALTER TABLE <表名> ADD <新字段名> <数据类型> [约束条件] [字段位置属性];

这里的字段位置属性是指新添加的字段在表中的顺序,可以指定为表的第一列:FIRST,也可以指定在某一列的后面:AFTER line。当然也可以使用下面的语句修改字段的排列位置。

13. 修改字段的排列位置:LATER TABLE <表名> MODIFY <字段1> <字段1数据类型> FIRST | AFTER <字段2>;

这里还加上了字段1数据类型,所以通过这种方法也可以修改字段1的数据类型。

14. 删除字段:ALTER TABLE <表名> DROP <字段名>;

15. 删除外键约束:ALTER TABLE <表名> DROP FOREIGN KEY <外键约束名>;

外键约束关联到其他的表,在这种情况下,如果直接删除父表会失败,所以可以先解除外键关联,再删除主表。

16. 删除表:DROP TABLE IF EXITS tab1;



这篇博文由 s0nnet 于2015年04月05日发表在 SQL 分类下, 欢迎你在下面发表评论
如无特别说明,独木の白帆发表的文章均为原创,欢迎大家转载,转载请注明: MySQL学习笔记(一) | 独木の白帆
关键字:

MySQL学习笔记(一):等您坐沙发呢!

发表评论

快捷键:Ctrl+Enter