初学MySQL,感受SQL语句仍是有点多,在此作一些MySQL的基础笔记,以防忘记。mysql
1. 链接数据库: mysql -h hostname -u username -psql
默认状况下是链接本地的数据库,因此上面能够简写为:mysql -u root -p数据库
2. 显示数据库:SHOW DATABASES;数据结构
3. 建立数据库:CREATE DATABASE db1;spa
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;