欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

[MySQL笔记]数据库、数据表的创建及修改

程序员文章站 2022-05-30 16:39:15
...

一、数据库


1.创建数据库

#花括号为必选项,中括号为可选项,|表示或
#IF NOT EXISTS 判断该数据库不存在,否则抛出Warning(没有该语句则报错)
CREATE {DATABASE|SCHEMA} [IF NOT EXISTS] 数据库名
[
	[DEFAULT] CHARACTER SET [=] 字符集 |
	[DEFAULT] COLLATE [=] 校对规则名称
];

eg:

CREATE DATABASE IF NOT EXISTS db_test
CHARACTER SET = utf8;

2.查看数据库

SHOW {DATABASES|SCHEMAS}
[LIKE '模式' WHERE '条件']

eg:

SHOW DATABASES;

[MySQL笔记]数据库、数据表的创建及修改
除db_test 外的几个数据库为系统数据库,不要轻易修改!

3.选择数据库

USE 数据库名;

4.修改数据库

ALTER {DATABASE | SCHEMA} [数据库名] 	#不指定则默认当前数据库
	[DEFAULT] CHARACTER SET [=] 字符集 |
	[DEFAULT] COLLATE [=] 校对规则名称;

5.删除数据库

DROP {DATABASE | SCHEMA} [IF EXISTS] 数据库名;

注意:一定不能删除系统数据库,否则MySQL将不能正常工作



二、数据表


1.创建数据表

CREATE [TEMPORARY] TABLE [IF NOT EXISTS] 数据表名 
		#TEMPORARY表示创建一个临时表
[(create_definition)]	#表的属性部分,至少要包含一列
[table_options] 		#表的一些特性参数,多数情况下用户不必指定此项
[select_statement]		#SELECT语句描述部分,用它可以快速创建表

create_definition的具体格式如下:

字段名 type [NOT NULL | NULL] [DEFAULT default_value] 
	  	[AUTO_INCREMENT] [PRIMARY KEY] [reference_definition]
# NOT NULL | NULL 指定该字段是否可以为空
# DEFAULT 表示默认值
# AUTO_INCREMENT 表示是否自动编号,每个表只能有一列使用该参数,并且必须被索引
# PRIMARY KEY 表示是否为主键,如果一个表没有主键,则默认返回第一个没有任何NULL的列作为主键
# reference_definition 为字段添加注释

以上虽然看起来复杂,但实际应用中使用最基本的格式即可

CREATE TABLE 数据表名 (列名1 属性, 列名2 属性, ...)

eg:

USE db_test;
CREATE TABLE tb_test(
	id int auto_increment primary key,
	name varcahr(30) not null,
	pwd varchar(30) not null;

2.查看数据表
查看数据表有两种方式,如下

SHOW [FULL] COLUMNS FROM 数据表名 [FROM 数据库名]; 
DESCRIBE 数据表名 [列名];
# 或
DESC 数据表名 [列名];

[MySQL笔记]数据库、数据表的创建及修改

3.修改数据表

ALTER [IGNORE] TABLE 数据表名 alter_spec[修改内容]

其中,修改内容可以为添加(ADD),
修改 [ ALTER(修改默认值), CHANGE(修改字段名或型),MODIFY(修改定义字段) ] ,
删除(DROP),
重命名(RENAME)
具体用法如下:

  • 添加新字段及修改字段定义
ALTER TABLE tb_test ADD email varchar(50) not null,
					MODIFY name varchar(40);

[MySQL笔记]数据库、数据表的创建及修改

  • 修改字段名
ALTER TABLE tb_test
CHANGE COLUMN name username VARCHAR(30) NULL;

[MySQL笔记]数据库、数据表的创建及修改

  • 删除字段
ALTER TABLE tb_test DROP email;

[MySQL笔记]数据库、数据表的创建及修改

  • 修改表名(有两种方法)
ALTER TABLE tb_test RENAME AS tb_test01;

[MySQL笔记]数据库、数据表的创建及修改

RENAME TABLE 数据表名1 TO 数据表名2;

[MySQL笔记]数据库、数据表的创建及修改

  • 复制表
CREATE TABLE tb_test_new
			LIKE tb_test;

[MySQL笔记]数据库、数据表的创建及修改
这种方法只能够复制表结构,而如果要连内容也进行复制则需要如下操作:

CREATE TABLE tb_test_details
			AS SELECT * FROM tb_test;

  • 删除表
DROP TABLE tb_test_new;

[MySQL笔记]数据库、数据表的创建及修改

相关标签: mysql