Mysql数据库表的基本操作

数据库表的基本操作

	1.创建表的基本语法
		创建数据表得语句为,CREATE TABLE,语法规则如下:
			CREATE TABLE <表名>
			(
				字段1,数据类型【列级别约束条件】 【默认值】,
				字段2,数据类型【列级别约束条件】 【默认值】
				......
				[表级别约束条件]
			);
			使用CREATE TABLE创建表时,必须指定以下信息:
			(1)要创建得表的名称,不区分大小写,不能时用SQL中得关键字
			(2)数据表中每一个列(字段)得名称和数据类型,如果要创建多个列,要用逗号隔开。
			例:创建一个员工表
				CREATE TABLE tb_empl
				(
					id INT(11),
					name VARCHAR(25),
					deptId INT(11),
					salary FLOAT
				);

创建成功后可以使用SHOW TABLES查看是否创建成功。

2.使用主键约束

2.1概念:主键,又称主码。是表中一列或多列得组合。主键约束要求主键列数据必须唯一,并且不允许为空。主键能够唯一的表示表中的一条记录,可以结合外键来定义不同数据表之间的关系,并且可以加快数据库查询的速度。

2.2单字段主键
	语法1:自定义列的同时指定主键。
	语法:字段名 数据类型 PRIMARY KEY [默认值]
	例:定义数据表的同时指定主键
		CREATE TABLE tb_empl
				(
					id INT(11) PRIMARY KEY,  -->定义id为主键
					name VARCHAR(25),
					deptId INT(11),
					salary FLOAT
				);
		
	**语法2:定义完所有列之后指定主键**
	语法:【CONSTRAINT <约束名>】 PREMARY KEY [字段名]
	例:定义数据表,主键为id
	CREATE TABLE tb_empl
				(
					id INT(11),
					name VARCHAR(25),
					deptId INT(11),
					salary FLOAT,
					PRIMARY KEY(id)
				);

3.使用外键约束

3.1概念:外键用来在两个表之间建立连接,他可以是一列,也可以是多列。一个表可以有一个或多个外键。
外键的作用是保持数据的一致性,完整性。
主表:对于两个居于关联关系的表而言,相关字段中主键所在的那个表即是主表。
从表:对于两个具有关联关系的表而言,相关字段中外键所在的那个表即是从表。
创建外键的语法如下:
【CONSTRAINT <外键名>】 FOREIGN KEY 字段名1 【,字段2,...】
REFERENCES <主表名> 主键列1 【,主键列2,...】

例:定义部门表,表结构如下:
CREATE TABLE tb_dept1
(
id INT(11) PRIMARY KEY,
name VARCHAR(22) NOT NULL,
location VARCHAR(50)
);

定义tb_emp5,让他的键depId作为外键关联到tb_dept1的主键id。
CREATE TABLE tb_emp5
(
id INT(11) PRIMARY KEY,
name VARCHAR(25),
deptId(11)
CONSTRAINT fk_emp_dept1 FOREIGN KEY(deptId) REFERENCES tb_dept1(id)
);
执行成功之后,在表tb_emp5上建立了外键为fk_emp_dept1的外键约束。外键名称为deptId,其依赖于表tb_dept1的主键id.

4.使用非空约束
4.1概念:非空约束指字段的指不能为空。
非空约束的语法如下:
字段名 数据类型 not null
例:定义数据表,指定员工的名称不能为空。
CREATE TABLE tb_empl
(
id INT(11),
name VARCHAR(25) NOT NULL,
deptId INT(11),
salary FLOAT
);

5.使用唯一约束
5.1唯一性约束要求该列唯一,允许为空,但只能出现一个空值。唯一约束可以确保一列或者几列不出现重复值。
5.2唯一性约束的语法如下:
语法一:定义完列之后直接指定唯一约束,规则如下:
字段名 数据类型 UNIQUE
例:定义数据表,指定姓名列唯一:
CREATE TABLE tb_empl
(
id INT(11),
name VARCHAR(25) UNIQUE,
deptId INT(11),
salary FLOAT
);
语法二:定义完所有列之后指定唯一约束,语法如下:
【CONSTRAINT <约束名>】 UNIQUE (<字段名>)

	例:定义数据表,指定姓名列唯一
	CREATE TABLE tb_empl
				(
					id INT(11),
					name VARCHAR(25),
					deptId INT(11),
					salary FLOAT,
					CONSTRAINT STH UNIQUE(name)
				);

UNIQUE和PRIMARY KEY 的区别:一个表中可以有多个字段为UNIQUE,但只能有一个PRIMARY KEY的列不允许有空值,但是声明为UNIQUE的字段允许空值的存在。

6.查看数据表结构
6.1查看表基本结构语句DESCRIBE
DESCRIBE 语句可以查看表的字段信息,其中包括:字段名,字段数据类型,是否为主键,是否有默认值。语法如下:
DESCRIBE 表名;
或者简写为:
DESC 表名;

6.2查看表详细结构语句SHOW CREATE TABLE
	SHOW CREATE TABLE 语句可以用来显示创建表时的CREATE TABLE y语句,语法格式如下:
	SHOW CREATE TABLE <表名\G>;
	提示:使用此语法,不仅可以查看表创建时侯的详细语句,而且还可以查看存储引擎和字符编码。
	\G 可以使结果更加直观。

7.修改数据表

7.1修改表名
MYSQL是通过ALTER TABLE 语句来实现表名的修改的,语法如下:
ALTER TABLE <旧表名> RENAME [TO] <新表明>;
注:其中TO为可选参数,使用与否均不影响结果。

7.2修改字段的数据类型

修改字段的数据类型,就是把字段的数据类型转换为另一种数据类型。
修改字段数据类型的语法规则如下:
ALTER TABLE <表名> MODIFY <字段名> <数据类型>
其中”表名“指要修改的数据类型的字段所在表的名称,”字段名“指需要修改的字段,”数据类型“指修改后字段的西部数据类型。

7.3修改字段名
MYSQL中修改表字段名的语法规则如下:
ALTER TABLE <表名> CHANGE <旧字段名> <新字段名> <新数据类型>;
注:其中,”旧字段名“指修改前的字段名;”新字段名“指修改后的字段名;”新数据类型“指修改后的数据类型,如果不需要修改字段的数据类型,可以将新数据类型设置为与原来一样即可,但数据类型不能为空。

7.4添加字段
添加字段语法如下:
ALTER TABLE <表名> ADD <新字段名> <数据类型>
【约束条件】 【FIRST | AFTER 已存在的字段名】;

注:新字段名为添加的字段名称;”FIRST“为可选参数,其作用是将新添加的字段设置为表的第一个字段;”AFTER“为可选参数,其作用是将新添加的字段添加到指定的”已存在字段名“的后面。

7.5删除字段
删除字段就是将数据表中的某个字段从表中删除,语法如下:
ALTER TABLE <表名> DROP <字段名>;
”字段名“ 指需要从表中删除的字段的名称。

7.6更改表的存储引擎
语法如下:ALTER TABLE <表名> ENGINE=<更改后的存储引擎名>;

7.7删除表的外键约束
删除外键的语法如下:
ALTER TABLE <表名> DROP FOREIGN KEY <外键约束名>
”外键约束名“指在定义表时CONSTRAINT关键字后面的参数。

8.删除数据表
使用DROP TABLE 可以一次删除一个或多个没有被其他表关连的数据表。
语法如下:
DROP TABLE [IF EXISTS] 表1,表二,…表N;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值