MySQL 数据库及表的操作命令
程序员文章站
2022-05-25 12:47:34
数据库命令">1.操作数据库命令
(1)创建数据库:
CREATE DATABASE 数据库名;
(2)显示数据库:
SHOW DATABASES;
(3)删除数据库:...
数据库命令">1.操作数据库命令
(1)创建数据库:
CREATE DATABASE 数据库名;
(2)显示数据库:
SHOW DATABASES;
(3)删除数据库:
DROP DATABASE 数据库名;
(4)显示存储引擎:
SHOW ENGINES;
此处;也可以用\g代替,即:
SHOW ENGINES \g
效果和分号一样。但是使用\G结尾则显示更加工整美观,即:
SHOW ENGINES \G
mysql支持的存储引擎例如">(5)使用SHOW语句查询MySQL支持的存储引擎,例如:
SHOW VARIABLES LIKE 'have%';
会显示出以have开头的引擎名和MySQL是否支持(YES/NO/DISABLED)
2.增删改查表命令
(1)创建表:
CREATE 表名( 属性名 数据类型 完整性约束条件, 属性名 数据类型 完整性约束条件, ...... );
注意:创建表前首先要选择数据库:
USE 数据库名;
否则会出现ERROR 1046(3D00)错误
完整性约束条件有:
- ### 主键标识PRIMARY KEY:
表示该属性为该表的主键,可以唯一地标识对应的元组
单字段主键语法:
属性名 数据类型 PRIMARY KEY
比如:
CREATE TABLE example1( stu_id INT PRIMARY KEY, stu_name VARCHAR(20), stu_sex BOOLEAN );
多字段主键语法:
PRIMARY KEY(属性名1,属性名2,......)
比如:
CREATE TABLE example2( stu_id INT, course_id INT, grade FLOAT, PRIMARY KEY(stu_id,course_id) );
此时stu_id和course_id可以唯一确定一条记录
- ### 外键表示FOREIGN KEY:
基本语法规则:
CONSTRAINT 外键别名 FOREIGN KEY(属性1.1,属性1.2,......属性1.n) REFERENCES 表名(属性2.1,属性2.2,......,属性2.n)
(具体说明见MySQL入门很简单P81)
- ### 非空约束NOT NULL:
语法:
属性名 数据类型 NOT NULL### 唯一性约束UNIQUE
表明该属性的值不能重复出现,比如表的id字段加上了唯一性约束,则id值唯一,不可重复。语法:
属性名 数据类型 UNIQUE### 属性值自动增加AUTO_INCREMENT
该条件为MySQL数据库中的特殊约束条件,主要用于为插入的新记录自动生成唯一ID。一个表只能一个字段使用AUTO_INCREMENT约束,且该字段必须是主键的一部分,且必须为任意整数类型。默认情况下从1开始自增,语法为:
属性名 数据类型 AUTO_INCREMENT
比如:
id INT PRIMARY KEY AUTO_INCREMENT
3.查看表结构
(1)查看表基本结构语句DESCRIBE/DESC
查看表的基本定义,包括字段名,字段数据,是否为主键和默认值等,语法:
DESCRIBE 表名;
或者
DESC 表名;
(2)查看表详细结构语句SHOW CREATE TABLE
语法:
SHOW CREATE TABLE 表名;
4.修改表
(1)修改表名:
ALTER TABLE 旧表名 RENAME 新表名;
或者
ALTER TABLE 旧表名 RENAME TO 新表名;
(2)只修改字段数据类型:
ALTER TABLE 表名 MODIFY 属性名 数据类型;
(3)修改字段名或者字段名和数据类型:
ALTER TABLE 表名 CHANGE 旧属性名 新属性名 新数据类型;
如果只修改字段名而不改字段的数据类型,在修改前需要使用DESC 表名来查看表结构从而得知该字段的原数据类型。
(4)增加字段
ALTER TABLE 表名 ADD 属性名1 数据类型 [完整性约束条件] [FIRST| AFTER 属性名2];
中括号中为可选参数,可以将属性名1的位置设置为FIRST,即表的第一个字段,也可以设置为AFTER 属性名2,如果不对位置进行指定,则默认为表的最后一个字段。
(5)删除字段
ALTER TABLE 表名 DROP 属性名;
(6)修改字段位置
ALTER TABLE 表名 MODIFY 属性名1 数据类型 FIRST|AFTER 属性名2;
(7)更改存储引擎
ALTER TABLE 表名 ENGINE=存储引擎名;
(8)删除外键约束
ALTER TABLE 表名 DROP FOREIGN KEY 外键别名;
如果不知道外键别名,往往需要先使用
SHOW CREATE TABLE 表名来查看外键别名
(9)删除没有被关联的普通表
(9)删除没有被关联的普通表
DROP TABLE 表名;
(10)删除被其他表关联的父表
(10)删除被其他表关联的父表
先删除子表的外键约束,再删除父表
ALTER TABLE 子表名 DROP FOREIGN KEY 外键别名; DROP TABLE 父表名;