手机版

MySQL数据库创建、修改和删除表的示例

时间:2021-08-01 来源:互联网 编辑:宝哥软件园 浏览:

类型:数据库类大小:1.7M语言:英语成绩:6.6标签:立即下载。其实很多人已经忘记了很多SQL语句,或者说知道的不多,因为有数据库图形操作软件,方便大家,但是我们不能忘记最根本的东西,尤其是一些细节。也许你习惯了Hibernate,不需要写SQL语句。然而,并不是每个项目都需要使用大型框架。如果你不使用它,那么你将无法操作数据库,所以我们最好熟悉它,这将有助于我们在未来找到工作和工作。

在谈论创建、修改和删除表之前,我们仍然需要对操作做一个简单的解释:

1.登录到数据库系统

在命令行登录MySQL数据库管理系统,输入以下内容:

Mysql -h localhost -u root -p很多人都知道这一点,但是我们仍然需要知道参数代表什么。其中“-h”参数是指连接的主机名,所以后面跟localhost“-u”参数表示用户名,其中用户名为root;“-p”参数表示用户的密码。按回车键后,将显示“输入密码”。输入登录密码。

2.创建数据库

在创建数据库之前,我们可以查看现有的数据库:

mysql SHOW DATABASES-| Database |-| information _ schema | | community | | community _ test | | data | | mydata | | MySQL | | Performance _ schema | | test |-集合中的8行(0.04秒)创建数据库的格式:CREATE DATABASE数据库名称;

示例:创建名为示例的数据库

mysql CREATE DATABASE示例;查询正常,1行受影响(0.00秒)mysql SHOW DATABASES-| Database |-| information _ schema | | community | | community _ test | | data | | example | | my data | | MySQL | | Performance _ schema | | test |-集合中的9行(0.00秒)3。删除数据库:

格式:DROP DATABASE数据库名称;

示例:删除示例数据库

mysql DROP DATABASE示例;查询正常,0行受影响(0.07秒)mysql SHOW DATABASES-| Database |-| information _ schema | | community | | community _ test | | data | | mydata | | MySQL | | Performance _ schema | | test |-集合中的8行(0.00秒)4。数据库存储引擎

存储引擎指的是表的类型,数据库存储引擎决定了表在计算机中的存储方式。

MySQL中查询存储引擎的类型命令:SHOW ENGINES

mysql SHOW ENGINES- - - - - - |引擎|支持|注释|事务| XA |保存点|-----| FEDERATED | NO | FEDERATED MySQL存储引擎| NULL | NULL || MRG_MYISAM | YES |相同MYISAM表的集合| NO | NO | NO || MyISAM | YES | MyISAM存储引擎| NO | NO | NO || BLACKHOLE | YES | /dev/null存储引擎(您写入其中的任何内容都会消失)| NO | NO | NO | NO | | CSV | YES | CSV存储引擎| NO | NO | NO | | MEMORY | YES |基于哈希,存储在内存中,对临时表有用| NO | NO | NO | | ARCHIVE | YES | Archive存储引擎| NO | NO | NO | | InnoDB | DEFAULT |支持事务、行级锁定和外键| YES | YES | YES | PERFORMANCE _ SCHEMA | YES | PERFORMANCE SCHEMA | NO | NO | NO |-。 Support参数指示MySQL是否支持这种类型的引擎;注释参数表示对引擎的注释;交易参数表示是否支持交易;XA参数表示是否是分布式事务处理的XA规范;保存点参数指示是否支持保存点以方便事务回滚操作;从上面我们可以看到InnoDB存储引擎是默认的,也就是数据库的默认存储引擎。先简单介绍一下InnoDB。

InnoDB是MySQL的一种存储引擎,为MySQL提供事务安全、回滚、崩溃修复能力和多版本并发控制。InnoDB是MySQL上第一个提供外键约束的表引擎,其事务处理能力是其他存储引擎无法比拟的。但是这种引擎的缺点是读写效率稍差,占用的数据空间比较大。

以下是正式内容:

创建表格:

1)创建表格的形式:

CREATE TABLE名称(属性名称数据类型[完整约束],属性名称数据类型[完整约束],属性名数据类型[完全约束]);如果你急着登录创建表,恭喜你,你会得到“没有选择数据库”的错误,因为你没有告诉别人你想在哪个数据库中创建表,所以你应该在创建之前选择一个数据库,格式为:使用数据库名称;

示例创建学生表:

mysql使用示例;database changedmysql CREATE TABLE student(-id int,-name varchar(20)-);查询正常,0行受影响(0.09秒)当创建上面的表时,它涉及完整性约束。下面是一个完整性约束表:

约束描述PRIMARYKEY将此属性标识为此表的主键,并且可以唯一地标识对应的元组FOURY KEY将此属性标识为此表的外键,它是与之联系的表的主键。非空表示该属性不能为空。唯一标识该属性的值是唯一的。AUTO_INCREMENT标识该属性的值自动增加,这是MySQL SQL语句的特点。DEFAULT设置该属性的默认值。让我们解释一下上述完整性约束的应用:

2)设置表的主键

单字段PRIMARY KEY格式:属性名称数据类型主键

示例:

MySQL CREATE TABLE student 1(-id int PRIMAry KEY,-name varchar(20)-);查询正常,0行受影响(0.06秒)多字段主键格式:主键(属性名1,属性名2.属性名n)

示例:

MySQL CREATE TABLE student 2(-id int,- stu_id int,- name varchar(20),- PRIMARY KEY(id,stu _ id)-);查询正常,0行受影响(0.00秒)3)设置表的外键

格式:CONSTRATION FOURING KEY别名FOURING KEY(属性1,属性2,属性n) REFERENCES表名(属性1 ',属性2 ',属性n’)

示例:

mysql CREATE TABLE教师(- id int PRIMARY KEY,- stu_id int,- name varchar(20),-CONSTRAINT STUID FOURENT KEY(stu _ id)REFERENCES student 1(id)-);查询正常,0行受影响(0.00秒)4)设置表的非空约束

简单来说,这个属性的值是不允许为空的,如果没有填写,就会报错

格式:属性名数据类型不为空

5)设置表的唯一性约束

也就是说,该属性的值不能重复

格式:属性名称数据类型唯一

6)将表的属性值设置为自动增加

AUTO _ INCREMENT CONtrol的字段可以是任何整数类型(TINYINT、SMALLINT、INT和BIGINT)。默认情况下,该字段的值从1开始增加。

格式:属性名数据类型AUTO_INCREMENT

7)设置表格属性的默认值

格式:属性名称数据类型默认值默认值

以下是4-7的综合示例:

MySQL CREATE TABLE student 3(-id int PRIMARY KEY AUTO _ INCREMENT,- teacher_id int UNIQUE,- name varchar(20) NOT NULL,-sex varchar(10)DEFAULT ' male '-);查询确定,0行受影响(0.01秒)以查看表结构

视图表基本结构语句DESCRIBE

格式:DESCRIBE表名;

通过查看表的结构,您可以清楚地解释表,并且可以检查您创建的表是否有错误。必须使用此SQL语句

示例:

mysql desc学生3;-------|字段|类型|空|键|默认值|额外|----| id | int(11)| NO | PRI | Null | auto _ increment | | teacher _ id | int(11)| YES | UNI | Null | | name | varchar(20)| NO | | Null | | sex | varchar(10)| YES | |男| | - 4行

通过这个SQL语句,您可以查看表的详细定义。除了字段名、字段数据类型和约束条件,您还可以查看表的默认存储引擎和字符编码

格式:SHOW CREATE TABLE表名;

示例:

mysql SHOW CREATE TABLE student3----| Table | Create Table |----| student 3 | Create Table ` student 3 `(` id ' int(11)NOT NULL AUTO _ INCREMENT,` teacher _ id ' int(11)DEFAULT NULL,` name ' varchar(20)NOT NULL,` sex ' varchar(10)DEFAULT ' maly,` PRIMARY KEY (`id `),UNIQUE KEY ` teacher _ id `)(` teacher _ id `) ENGINE=InnoDB DEFAULT CHARSET=GB 2312 |----set中的1行(0.00秒)修改表:

1)修改表名

表名可以唯一地标识数据库中的表。

格式:更改表旧表名重命名新表名;

示例:

mysql ALTER TABLE学生RENAME student4查询正常,0行受影响(0.11秒)MySQL description学生;错误1146 (42s02) :表'示例。“student”不存在从上面可以看出,重命名的表不再存在。

2)修改字段的数据类型

格式:ALTER TABLE名称MODIFY属性名称数据类型;

示例:

MySQL DESCHERE student 1-|字段|类型| Null |键|默认值| Extra |-| id | int(11)| NO | PRI | Null | | name | varchar(20)| YES | | Null | |-集合中的2行(0.08秒)MySQL ALTER TABLE学生1 MODIFY名字varchar(30);查询正常,0行受影响(0.06秒)记录: 0副本: 0警告: 0毫秒描述学生1;- |字段|类型|空|键|默认值|额外|-| id | int(11)| NO | PRI | Null | | name | varchar(30)| YES | | Null | |-集合中的2行(0.01秒)3)修改字段名:

格式:ALTER TABLE表名变化旧属性名新属性名新数据类型;

示例:

MySQL DESCHERE student 1-|字段|类型| Null |键|默认值| Extra |-| id | int(11)| NO | PRI | Null | | name | varchar(30)| YES | | Null | |-集合中的2行(0.00秒)MySQL ALTER TABLE学生1 CHANGE name stu _ name varchar(40);查询正常,0行受影响(0.01秒)记录: 0副本: 0警告: 0毫秒描述学生1;- |字段|类型|空|键|默认值|额外|-| id | int(11)| NO | PRI | Null | | | stu _ name | varchar(40)| YES | | Null | |-集合中的2行(0.00秒)这里我修改的字段名的同时也修改了数据类型了,如果你不想修改数据类型的话就按照原来的写就行了。

4)增加字段

格式:ALTER TABLE表名模拟数字音乐制碟属性名一数据类型[完整性约束条件][第一个|之后属性名2];

其中,"属性名1"参数指需要增加的字段的名称;"第一"参数是可选参数,其作用是将新增字段设置为表的第一个字段;"之后"参数也是可选的参数,其作用是将新增字段添加到"属性名2"后面;"属性名2"当然就是指表中已经有的字段

示例:

MySQL DESCHERE student 1-|字段|类型|空|键|默认值|额外|-| id | int(11)| NO | PRI | Null | | | stu _ name | varchar(40)| YES | | Null | |-集合中的2行(0.00秒)MySQL ALTER TABLE学生1 ADD教师_ name varchar(20)NOT Null AFTER id;查询正常,0行受影响(0.01秒)记录: 0副本: 0警告: 0毫秒描述学生1;- |字段|类型|空|键|默认|额外| - | id | int(11)| NO | PRI | Null | | |教师_姓名| varchar(20)| NO | | Null | | | stu _姓名| varchar(40) | YES | | NULL | | - -集合中的3行(0.01秒)5)删除字段

格式:ALTER TABLE表名滴属性名;

示例:

MySQL DESCHERE student 1-|字段|类型| Null |键|默认值| Extra |-| id | int(11)| NO | PRI | Null | | | teacher _ name | varchar(20)| NO | | Null | | | stu _ name | varchar(40)| YES | | Null | |-集合中的3行(0.01秒)MySQL ALTER TABLE学生1 DROP教师_姓名;查询正常,0行受影响(0.01秒)记录: 0副本: 0警告: 0毫秒描述学生1;- |字段|类型|空|键|默认值|额外|-| id | int(11)| NO | PRI | Null | | | stu _ name | varchar(40)| YES | | Null | |-集合中的2行(0.00秒)6)更改表的存储引擎

格式:ALTER TABLE表名发动机=存储引擎名;

示例:

MySQL SHOW CREATE TABLE student 2-| TABLE | CREATE TABLE-| student 2 | CREATE TABLE ` student 2 `(` id ' int(11)NOT NULL DEFAULT ' 0 ',` stu _ id ' int(11)NOT NULL DEFAULT ' 0 ',` name` varchar(20) DEFAULT NULL,PRIMARY KEY(` id `,` stu _ id `))ENGINE=InnoDB DEFAULT CHARSET=GB 2312 |-set中的一行(0.05秒)MySQL ALTER Table学生2 ENGINE=MYISAM查询正常,0行受影响(0.02秒)记录: 0副本: 0警告: 0毫秒显示创建表学生2;- |表|创建表- |学生2 |创建表`学生2 `(` id ' int(11)NOT NULL DEFAULT ' 0 ',` stu _ id ' int(11)NOT NULL DEFAULT ' 0 ',` name ' varchar(20)DEFAULT NULL,PRIMARY KEY (`id `,` stu _ id `)))ENGINE=MyISAM DEFAULT CHARSET=GB 2312 |-set中的一行(0.00秒)7)删除表的外键约束

格式:ALTER TABLE表名丢弃外键外键别名;

示例:

mysql SHOW CREATE TABLE老师;- |表|创建表| - |教师|创建表`教师`(` id ' int(11)NOT NULL,` stu _ id ' int(11)DEFAULT NULL,` name ' varchar(20)DEFAULT NULL,PRIMARY KEY (`id `),KEY `STUID` (`stu_id `),CONSTRAINT ` STUID ` FOREIGN KEY(` stu _ id `)REFERENCES ` stu)ENGINE=InnoDB DEFAULT CHARSET=GB 2312 |-set中的一行(0.08秒)MySQL ALTER Table老师DROP FOREIGN KEY STUID查询正常,0行受影响(0.04秒)记录: 0副本: 0警告: 0mysql SHOW CREATE TABLE教师;- |表|创建表| - |教师|创建表`教师`(` id ' int(11)NOT NULL,` stu _ id ' int(11)DEFAULT NULL,` name ' varchar(20)DEFAULT NULL,PRIMARY KEY (`id `),KEY ` stu id `(` stu _ id `))ENGINE=InnoDB DEFAULT CHARSET=GB 2312 |-set中的一行(0.00秒)删除表:

格式:删除表格表名;

删除没有被关联的普通表:直接上面的结构化查询语言语句就行了

删除被其他表关联的父表:

方法一:先删除子表,在删除父表

方法二:删除父表的外键约束(上面有介绍),再删该表

版权声明:MySQL数据库创建、修改和删除表的示例是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。