06 MySQL 从入门到精通——操作数据表

创建数据表
	Usage:CREATE [TEMPORARY] TABLE [IF NOT EXISTS] 数据表名 [(create_definition,…)][table_options] [select_statement]
		[TEMPORARY]:创建一个临时表
	 	[table_options]:表的特性参数,如ENGINE[=]存储引擎类型、default charset[=]字符集类型
		[select_statement]:SELECT语句描述部分,用于快速创建表
		[(create_definition,…)]:表的属性部分
			Usage:col_name  type [NOT NULL | NULL] [DEFAULT default_value] [AUTO_INCREMENT]  [PRIMARY KEY ] [reference_definition]
				[AUTO_INCREMENT]:设置自增类型字段,自增类型字段的数据类型必须为整数。向自增类型字段插入一个NULL值时,该字段的值会被自动设置为比上一次插入值更大的值;每一个表只能有一个AUTO_INCREMENT列,并且必须被索引
				[PRIMARY KEY ]:设置主键字段
				[reference_definition]:为字段添加注释

	最基本格式创建表用法:
		Usage:CREATE TABLE table_name (列名1 属性,列名2 属性…);
		示例:create table tb_admin3(id int(10)  auto_increment primary key,user char(10) not null,password char(30) not null,createtime datetime) engine MyISAM default charset utf8;										
	查看已创建表:show tables;

查看表结构:
	desc 表名
	show columns from 表名
	示例:如果在要查询的库内可以不加库名
		desc db_admin.tb_admin;
	查看表状态
		SHOW TABLE STATUS LIKE '表名'
		示例:
			show table status like 'tb_admin';
					
修改表结构
	修改字段:
		Usage:Alter [IGNORE] TABLE 数据表名 alter_spec[,alter_spec]… [table_options]
			[IGNORE]:如果出现重复关键的行则只执行一行,其他重复的行被删除。
			[table_options]用于指定一些特性参数如引擎、字符集
		  	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 ]:指定位于哪个字段前面或后面
					
			示例:
				添加email字段并修改user数据类型:
					alter table  tb_admin  add email varchar(50) not null,modify user varchar(40);
				修改字段名:
					alter table tb_admin change user username varchar(30) not null;
				删除字段:
					alter table tb_admin drop email;

	修改约束条件与上便修改字段类似
		Usage:Alter TABLE 数据表名 ADD CONSTRAINT 约束名 约束类型 (字段名)
			约束类型:
				PRIMARY KEY
				DEFAULT	#默认值
				UNIQUE KEY 	#唯一键
				NOT NULL
				FOREIGN KEY	#外键
	删除约束:
		删除主键约束的语法格式如下:
			Usage:ALTER TABLE 表名 DROP PRIMARY KEY
		删除外键约束的语法格式如下:
			ALTER TABLE 表名 DROP FOREIGN KEY 约束名
		删除唯一性约束的语法格式如下:
			ALTER TABLE 表名 DROP INDEX 唯一索引名

	修改表的其他选项:
		修改表的存储引擎的语法格式如下:
			ALTER TABLE 表名 ENGINE[=]新的存储引擎类型
		修改表的字符集的语法格式如下:
			ALTER TABLE 表名 DEFAULT CHARSET[=]新的字符集
		修改表的自增类型字段的初始值的语法格式如下:
			ALTER TABLE 表名 AUTO_INCREMENT[=]新的初始值

	修改表名
		Usage1:ALTER TABLE table_name RENAME AS new_table_name
		Usage2:RENAME TABLE 数据表名1 TO 数据表名2

复制表结构(不会复制数据):
	Usage1:CREATE TABLE [IF NOT EXISTS] 数据表名 LIKE 源数据表名
	补充:如果想要复制数据:
		CREATE TABLE [IF NOT EXISTS]  数据表名 as select * from tb_admin;

删除表(删除表是不可逆的):
	DROP TABLE  [IF EXISTS]  数据表名;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值