Mysql(2)mysql 建库/删库 、建表/删表/修改表

A.创建数据库


使用root登录后,可以使用
create database wiztest if not exists user default charset utf8;
创建数据库,该命令的作用

  • (1)如果数据库不存在则创建,存在则不创建(if not exists).
  • (2)创建wiztest数据库,并设定编码集为utf8(default charset utf8).




B.删除数据库

drop database wiztest;





C.创建表

通过 mysql> 命令窗口可以很简单的创建MySQL数据表。你可以使用 SQL 语句CREATE TABLE来创建数据表。

example:
以下为在wiztest库中创建数据表user实例:
create table user(
    id int unsigned not null AUTO_INCREMENT PRIMARY KEY,
    username varchar(30) not null,
    password char(32) not null,
    email varchar(100) not null,
    pic varchar(50) default './public/img/pic.jpg'
)engine=innodb default charset=utf8;
实例解析:
如果你不想字段为 NULL 可以设置字段的属性为 NOT NULL, 在操作数据库时如果输入该字段的数据为NULL ,就会报错。

AUTO_INCREMENT定义列为自增的属性,一般用于主键,数值会自动加1。

PRIMARY KEY关键字用于定义列为主键。 您可以使用多列来定义主键,列间以逗号分隔。

ENGINE 设置存储引擎,CHARSET 设置编码。

查看表结构 desc user

查看建表语句 show create table user\G 



D.修改表结构

格式: alter table 表名 action(action为更改选项)

添加字段:
添加字段:alter table 表名 add 字段名信息
例如:

-- 在user表的最后追加一个num字段 设置为int not null

alter table user add num int not null;


-- 在user表的email字段后添加一个age字段,设置int not null default 20;

alter table user add age int not null default 20 after email;


-- 在user表的最前面添加一个aa字段设置为int类型

alter table user add aa int first;
删除字段:
删除字段:alter table 表名 drop 被删除的字段名

例如:-- 删除user表的aa字段

 alter table user drop aa;
修改字段:
修改字段:alter table 表名 change\[modify\] 被修改后的字段信息

其中:change可以修改字段名, modify 不修改

例如:

-- 修改user表中age字段信息(类型),(使用modify关键字的目的不修改字段名)

  alter table user modify age tinyint unsigned not null default 20;

-- 修改user表的num字段改为mm字段并添加了默认值(使用change可以改字段名)

  alter table user change num mm int not null default 10;
添加和删除索引:
-- 为user表中的name字段添加唯一性索引,索引名为uni_name;
 alter table user add unique uni_name(name);

-- 为user表中的email字段添加普通索引,索引名为index_eamil

 alter table user add index index_email(email);

-- 将user表中index_email的索引删除

 alter table user drop index index_email;
index索引的概念: 为字段添加index索引后,该字段的值则会以索引和值的形式存储在mysql的索引表中,固如果该字段已经存在过索引,则下次select查询时会直接通过mysql的索引列表查询数据,不会通过数据表进行直接查询,在数据量大的情况下大大提高select搜索效率.

修改表名:
ALTER TABLE 旧表名 RENAME AS 新表名;
更改AUTO_INCREMENT的初始值:
ALTER TABLE 表名称 AUTO_INCREMENT=1;
更改表类型:
ALTER TABLE 表名称 ENGINE="InnoDB";
ALTER TABLE 表名称 ENGINE="MyISAM";

关于表类型:
MySQL数据库中的表类型一般常用两种:MyISAM和InnoDB

区别:

MyISAM类型的数据文件有三个frm\(结构\)、MYD(数据)、MYI(索引)

MyISAM类型中的表数据增 删 改速度快,不支持事务,没有InnoDB安全。

InnoDB类型的数据文件只有一个 .frm

InnoDB类型的表数据增 删 改速度没有MyISAM的快,但支持事务,相对安全。
删除表:
DROP TABLE table_name;












评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值