您的位置:首页 > 数据库 > MySQL

MySQL 基础命令

2016-12-02 10:31 656 查看
最近在看 《MySQL5.6从零开始学》,然后自己也做了点笔记,顺便在这里记录一下。

一、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 数据库