mysql查看表关系命令_mysql学习笔记-数据库常用命令

本文详细介绍了MySQL数据库的一些常用命令,包括连接数据库、创建与删除数据库、创建表及设置各种约束(如主键、唯一性约束、外键、自动增长、默认值)、修改表结构以及删除表。此外,还涉及到了表的详细信息查看和存储引擎的更改。这些基础知识对于数据库管理和开发至关重要。
摘要由CSDN通过智能技术生成

数据库常用命令

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);

约束条件表

ee4f98033c0c067bc4632a7ef1a2b17c.png

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;

原文:http://www.cnblogs.com/hupan/p/3760787.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值