首页 > 代码库 > mysql学习笔记-数据库常用命令

mysql学习笔记-数据库常用命令

数据库常用命令
  1.添加需要路径:PATH="$PATH":/usr/local/mysql/bin
  2.登陆数据库系统:mysql -h localhost -u root -p
  3.创建数据库:CREATE DATABASE 数据库名
  4.显示数据库:SHOW DATABASES;
  5.删除数据库:DROP DATABASE 数据库名;
  6.创建表:CREATE TABLE 表名(属性名 数据类型 [完整性约束条件],属性名 数据类型 [完整性约束条件],属性名 数据类型);
  注意:在使用该语句之前首先要使用use语句选择数据库,并且表名不能以sql关键字。

  示例:CREATE TABLE example(id INT,name VARCHAR(20),sex BOOLEAN);

                                  约束条件表   

  1.单字段主键:属性名 数据类型 PRIMARY KEY

    CREATE TABLE example2(stu_id INT PRIMARY KEY,grade FLOAT,course_id INT);

  2.多字段主键:PRIMARY KEY(属性名1,属性名2,....属性名n);

    示例:CREATE TABLE example2(stu_id INT,grade FLOAT,course_id INT,PRIMARY KEY(stu_id,course_id));

  3.设置表外键:外键是表的一个特殊字段。如果字段sno是一个表A的属性,且依赖表B的主键。那么,称表B为父表,表A为子表,sno为表A的外键。通过sno字段将父表B和子表A建立关联关系。

  设置外键原则就是必须依赖于数据库中已存在的父表的主键;外键可以为空值。

  外键的作用是建立该表与其父表的关联关系。父表中删除某条信息时,子表中与之对应的信息也必须有相应的改变。例如,stu_id是student表的主键,stu_id是grade的表中得外键。   当  stu_id为‘123’同学退学了,需要从student表中删除该学生的信息。那么,grade表中stu_id为‘123’的所有信息也应该同时删除这样可以保证信息的完整性。

  设置外键语法:CONSTRAINT 外建别名 FOREIGN 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 FOREIGN KEY(stu_id,course_id) REFERENCES example2(stu_id,course_id));

 

4.设置表唯一性约束:所有记录中该字段值不能重复出现
   语法:属性名 数据类型 UNIQUE
     示例:CREATE TABLE example5(id INT PRIMARY KEY,stu_id INT UNIQUE,name VARCHAR(20) NOT NULL);

 

5.设置表属性自动增加:AUTO_INCREMENT 是mysql数据库中一个特殊的约束。主要用于为表插入的新记录自动生成唯一的ID。AUTO_INCREMENT约束字段可以是任意整数(TINYINT,SMALLINT,INT和BIGINT等)一个表只能有一个字段设置AUTO_INCREMENT约束且该字段必须为主键的一部分。
  语法:属性名 数据类型 AUTO_INCREMENT
  示例:CREATE TABLE example6(id INT PRIMARY KEY AUTO_INCREMENT,stu_id INT UNIQUE,name VARCHAR(20) NOT NULL);

 

6.设置表的属性的默认值
  语法:属性名 数据类型 DEFAULT 默认值
  示例:CREATE TABLE example7(id INT PRIMARY KEY AUTO_INCREMENT,stu_id INT UNIQUE,name VARCHAR(20) NOT NULL,English VARCHAR(20) DEFAULT      ‘zero‘,Math FLOAT DEFAULT 0,Computer FLOAT DEFAULT 0);

7.查看表结构
  语法:DESCRIBE 表名; 或者 DESC 表名;
  示例:DESCRIBE example1; 或者DESC example1;
8.查看表详细结构语句
  语法:SHOW CREATE TABLE 表名;
  示例:SHOW CREATE TABLE example \G

 


                        修改表
修改表使用ALTER TABLE 语句
1.修改表名
  语法:ALTER TABLE 旧表名 RENAME [TO] 新表明;
  示例:ALTER TABLE example RENAME user;

2.修改字段数据类型
  语法:ALTER TABLE 表名 MODIFY 属性名 数据结构;
  示例:ALTER TABLE user MODIFY name VARCHAR(30);

 

3.修改字段名:字段名可以在表中唯一的确定一个字段。数据库系统通过字段名来区分表中的不同字段。
  语法:ALTER TABLE 表名 CHANGE 旧属性名 新属性名 新数据类型;
  1.只修改字段名
  只需将 新数据类型 和原数据类型 写成一样即可
  示例:ALTER TABLE user CHANGE name stu_name VARCHAR(30);
  2.修改字段名和字段数据类型
  示例:ALTER TABLE user CHANGE sex stu_sex INT(2);

 

4.增加字段
  语法:ALTER TABLE 表名 ADD 属性名1 数据类型 [完整性约束条件] [FIRST| ALTER 属性名2];
  1.增加无完整性约束条件的字段
  示例:ALTER TABLE user ADD phone VARCHAR(20);
  2.增加有完整性约束条件的字段
  示例:ALTER TABLE user ADD phone INT(4) NOT NULL;
  3.表的第一个位置增加字段
  示例:ALTER TABLE user ADD num INT(8) PRIMARY KEY FIRST;
  4.在表指定位置之后增加字段
  示例:ALTER TABLE user ADD address VARCHAR(30) NOT NULL AFTER phone;

5.删除字段
  语法:ALTER TABLE 表名 DROP 属性名;
  示例:ALTER TABLE user DROP id;

6.修改字段的排列位置
  语法:ALTER TABLE 表名 MODIFY 属性名1 数据类型 FIRST | AFTER 属性名2;
  ”属性名1“ 指需要修改位置的字段名称; ”数据类型“ 参数指 ”属性名1“的数据类型 ”FIRST“ 参数指定位位置为表的第一位置; ”AFTER 属性名 2“ 参数指定 ”属性名 1“ 插入在 ”属性名 2“   之后。
  1.字段修改到第一个位置
  示例:ALTER TABLE user MODIFY stu_name VARCHAR(30) FIRST;
  2.字段修改到指定位置
  示例:ALTER TABLE user MODIFY stu_sex TINYINT(1) AFTER phone;

 

7.更改表的存储引擎
  语法:ALTER TABLE 表名 ENGINE = 存储引擎名;
  示例: ALTER TABLE user ENGINE = MyISAM;

8.删除表的外键约束
  语法:ALTER TABLE 表名 DROP FOREIGN KEY 外键别名;
  示例:ALTER TABLE example3 DROP FOREIGN KEY c_fk;

                              删除表

1.删除没有关联的普通表
  语法:DROP TABLE 表名;
  示例:DROP TABLE example5;

2.删除被其他表关联的父表
  1.先删除子表在删除父表
  2.先删除依赖关系在删除父表 可确保数据库的安全
  示例:ALTER TABLE example3 DROP FOREIGN KEY c_fk;
  DROP TABLE example;