MySQL数据库基本命令学习(2)

MySQL数据库基本命令学习(2)

创建数据表

>CREATE [TEMPORARY] TABLE [IF NOT EXISTS] 数据表名
>[create_definition,...][table_options][select_statement]

参数说明
1.TEMPORARY:使用这个关键字表示创建一个临时表
2.IF NOT EXISTS:避免报错,就是查重,
3.create_definition:表的列属性,至少存在一行
4.table_options:表的一些特性参数,多数情况下,不必指定表的选项
5.select_statement:用它可以快速创建表
重点说明
create_definition:每一列定义的具体格式如下:

>col_name type[NOT NULL|NULL][DEFAULT default_value][AUTO_INCREMENT]
>		[PRIMARY KEY][reference_definition]
>#col_name:字段名
>#type:字段类型
>#[NOT NULL|NULL]:指定是否允许为空值,一般默认为允许空值,非空时必须指定为NOT NULL
>#[DEFAULT default_value]:默认值
>#[AUTO_INCREMENT]:是否自动编号,每个表只能有一个AUTO_INCREMENT列,且必须为主键
>#[PRIMARY KEY]:表示是否为主键
>#[reference_definition]:为字段添加注释

实例化操作

>use db_admin;		#使用db_admin数据库
>create table tb_admin(		#表名称为tb_damin
>	id int auto_increment primary key,	#创建ID列,整型,自动编号,主键
>	user varchar(30) not null,		#创建user列,固定30字长,非空
>	password varchar(30) not null,	#同上
>	createtime datetime);		#创建createtime列,datetime类型

查看表结构

>SHOW [FULL]COLUMNS FROM 数据表名 [FROM 数据库名];
>SHOW [FULL]COLUMNS FROM 数据库名.数据表名;

使用DESCRIBE查看

DESCRIBE 数据表名;	#查看整个数据表结构
DESCRIBE 数据表名 列名;	#查看数据表某列的结构

修改表结构

ALTER [IGNORE] TABLE 数据表名 alter_spec[,alter_spec]...| table_options

参数说明
1.[IGNORE]:可选项,表示如果出现重复关建行,只执行一行,其他重复行被删除
2.alter_spec子句:用于定义要修改的内容,语法格式如下

>ADD [COLUMN]create_definition [FIRST|AFTER column_name]	#添加新字段
>|ADD INDEX [index_name](index_col_name,...)	#添加索引名称
>|ADD PRIMARY KEY(index_col_name,...)			#添加主键名称
>|ADD UNIQUE[index_name](index_col_name,...)			#添加唯一索引
>|ALTER[COLUMN] col_name {SET DEFAULT literal | DROP DEFAULT}	#修改字段默认值
>|CHANGE [COLUMN]old_col_name create_definition			#修改字段名/类型
>|MODIFY [COLUMN] create_definition		#修改子句定义字段
>|DROP [COLUMN] col_name		#删除字段名称
>|DROP PRIMARY KEY				#删除主键名称
>|DROP INDEX index_name			#删除索引名称
>|RENAME [AS] new_tbl_name		#更改表名

参数说明
create_definition:定义列的数据类型和属性。
[FIRST|AFTER column_name]:指定位于哪个字段的前面或者后面。
[index_name]:指定索引名
(index_col_name,…):指定索引列名
{SET DEFAULT literal | DROP DEFAULT}:为字段设置或删除默认值,literal参数为要设置的默认值
old_col_name:制定要修改的字段名
new_tbl_name:指定新的表名
table_options:制定一些表的特性参数,一般不需要的指定。
实例化操作

>alter table tb_admin add email varchar(50) not null,
>modify user varchar(40);
>#添加一个email的新字段列,并且修改user字段的定义属性
>
>alter table db_admin.tb_usernew1
>change column user username varchar(30) null default null;
>#将数据表tb_usernew1的字段名user重命名为username
>
>alter table tb_admin drop email;
>#删除数据表tb_admin中的email字段
> 
>alter table tb_usernew1 rename as tb)userold;
>#将数据表tb_usernew1更名为userold
> 
>rename table tb_admin to tb_user;
>#将数据表tb_admin重命名为tb_user  

复制表

>CREATE TABLE [IF NOT EXISTS] 数据表名
>	{LIKE 源数据表名 |(LIKE 源数据表名)}

实例化操作

>create table tb_usernew
>	like tb_user
>#创建一个数据表tb_usernew,结构和tb_user相同

如果想要复制表中的内容:

>create table tb_usernew1
>	as select *from tb_user;

删除表

>DROP TABLE [IF EXISTS] 数据表名
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值