MySQL 基础命令
2016-12-02 10:31
656 查看
最近在看 《MySQL5.6从零开始学》,然后自己也做了点笔记,顺便在这里记录一下。
查看存储引擎全部类型:show engines;
查看数据库:show databases;
删除数据库:drop database_name;
创建数据库表:
method 1 ->
create table table_name(
column_name1 type(length) primary key , //主键
column_name2 type(length)
);
method 2 ->
create table table_name(
column_name1 type(length) ,
column_name2 type(length) ,
primary key(column_name1,column_name2) //多主键
);
指定外键约束:
[constraint <外键名>] foreign key 字段名 1 [,字段名2,字段名3......] references <主表名> 主键列1 [,主键列2,主键列3......]
create table table_name(
id int(10) primary key ,
foreign_id int(10) not null ,
user archer(22) not null ,
constraint fk_xxx foreign key(foreign_id) references table_name0(id)
);
指定唯一约束:unique
唯一约束与主键的区别:一个表中可以有多个字段声明为unique,但只能有一个primary key的声明(可以有多个主键);声明为primary key的列不能为空,但是声明为unique的字段可以是空值(null),但只能有一个空。
默认约束:字段名 数据类型 default 默认值
例如男性同学比较多,就可以在创建表的时候指定默认的性别是男,这样,插入数据时没有指定性别时默认的性别就是男。
属性值自动增加:字段名 数据类型 auto_increment
一个表只能有一个字段使用auto_increment,且该字段必须为主键的一部分。字段类型可以是任何整数类型(tinyint,smallin,int,bigint)
查看数据表结构:describe 表名; 或简写为: desc 表名;
查看表详细结构语句:show create table table_name;
该语句不仅可以查看表创建时的具体结构,而且还可以查看数据引擎和字符编码。
其中的to是可选参数。
修改字段的数据类型:alter table <表名> modify <字段名> <数据类型>;
修改字段名:alter table <表名> change <旧字段名> <新字段名> <新数据类型>;
删除表的外键约束:alter table <表名> drop foreign key <外键约束名>;
更改表的存储引擎:alter table <表名> engine=<更改后的存储引擎>;
删除字段:alter table <表名> drop <字段名>;
添加字段:alter table <表名> add <新字段名> <新字段类型>;
删除被其他表关联的表:
1、先解除从表的外键约束。
2、再调用上面的删除表语句删除主表。
提醒:
1、表删除操作必须谨慎,因为mysql在删除时不会有确认信息提示,因此删除之前最好做到先备份。包括修改表的操作也一样。
2、并不是每一个表都需要主键,一般情况下在多个表之间进行连接操作时才需要用到主键,因此并不需要为每个表建立主键,而且有些时候最好不使用主键。
3、并不是每个表都可以任意选择存储引擎,外键约束时的两个表的存储引擎要一致。
4、auto_increment约束的字段值不一定非要从1开始,如果存储第一个数据时你填写了一个不是1的数字,后面保存的记录都会在此基础上自动增长。
一、mysql层面的命令
登录数据库:mysql -h localhost -u root -p查看存储引擎全部类型:show engines;
二、数据库层面的命令
创建数据库:create database database_name;查看数据库:show databases;
删除数据库:drop database_name;
三、数据表层面的命令
使用指定的数据库:use database_name;创建数据库表:
method 1 ->
create table table_name(
column_name1 type(length) primary key , //主键
column_name2 type(length)
);
method 2 ->
create table table_name(
column_name1 type(length) ,
column_name2 type(length) ,
primary key(column_name1,column_name2) //多主键
);
指定外键约束:
[constraint <外键名>] foreign key 字段名 1 [,字段名2,字段名3......] references <主表名> 主键列1 [,主键列2,主键列3......]
create table table_name(
id int(10) primary key ,
foreign_id int(10) not null ,
user archer(22) not null ,
constraint fk_xxx foreign key(foreign_id) references table_name0(id)
);
指定唯一约束:unique
唯一约束与主键的区别:一个表中可以有多个字段声明为unique,但只能有一个primary key的声明(可以有多个主键);声明为primary key的列不能为空,但是声明为unique的字段可以是空值(null),但只能有一个空。
默认约束:字段名 数据类型 default 默认值
例如男性同学比较多,就可以在创建表的时候指定默认的性别是男,这样,插入数据时没有指定性别时默认的性别就是男。
属性值自动增加:字段名 数据类型 auto_increment
一个表只能有一个字段使用auto_increment,且该字段必须为主键的一部分。字段类型可以是任何整数类型(tinyint,smallin,int,bigint)
查看数据表结构:describe 表名; 或简写为: desc 表名;
查看表详细结构语句:show create table table_name;
该语句不仅可以查看表创建时的具体结构,而且还可以查看数据引擎和字符编码。
四、修改数据表
修改表名:alter table <旧表名> rename [to] <新表名>;其中的to是可选参数。
修改字段的数据类型:alter table <表名> modify <字段名> <数据类型>;
修改字段名:alter table <表名> change <旧字段名> <新字段名> <新数据类型>;
删除表的外键约束:alter table <表名> drop foreign key <外键约束名>;
更改表的存储引擎:alter table <表名> engine=<更改后的存储引擎>;
删除字段:alter table <表名> drop <字段名>;
添加字段:alter table <表名> add <新字段名> <新字段类型>;
五、删除数据表
删除没有被关联的表:drop table [if exists] table_name1,table_name2…..;删除被其他表关联的表:
1、先解除从表的外键约束。
2、再调用上面的删除表语句删除主表。
提醒:
1、表删除操作必须谨慎,因为mysql在删除时不会有确认信息提示,因此删除之前最好做到先备份。包括修改表的操作也一样。
2、并不是每一个表都需要主键,一般情况下在多个表之间进行连接操作时才需要用到主键,因此并不需要为每个表建立主键,而且有些时候最好不使用主键。
3、并不是每个表都可以任意选择存储引擎,外键约束时的两个表的存储引擎要一致。
4、auto_increment约束的字段值不一定非要从1开始,如果存储第一个数据时你填写了一个不是1的数字,后面保存的记录都会在此基础上自动增长。
相关文章推荐
- 基础 使用 mysql 命令
- mysql基础命令大全
- mysql基础命令讲解
- 我的Linux生涯之Mysql:[Mysql基础命令总结]
- mysql数据库命令大全,mysql数据基础入门
- mysql命令平时使用的基础
- MySQL基础命令
- MySQL 基础常用命令
- MySQL 基础常用命令
- Mysql的基础show命令
- mysql基础命令大全
- mysql基础命令
- mysql 基础-show slave status命令是由哪两个配置文件组成及各个参数的含义
- Python:Mysql编程(基础操作命令)
- mysql基础命令
- mysql -- 基础 -- 常用命令
- mysql 基础命令
- Linux下mysql基础命令
- mysql基础操作命令
- 整理的mysql基础操作命令