一、数据库的操作

// 登陆mysql数据库
mysql -u root -p;

// 主机免密码登录
vi ~/.my.cnf

[client]
host=localhost
user='root'
password='password'

chmod 700 ~/.my.cnf

// 创建数据库
CREATE DATABASE db_book;
// 查看所有数据库
SHOW DATABASE;
// 选择数据库
USE db_book;
// 查看所有数据表
SHOW TABLES;
// 删除数据库
DROP DATABASE db_book;

二、数据表的基本操作

CREATE TABLE t_bookType(
    `id` int primary key auto_increment,
    `bookTypeName` varchar(20)
)ENGINE=InnoDB DEFAULT CHARSET=utf8;

// constraint fk foreign key (bookTypeId) references t_bookType(id) 设置外键
CREATE TABLE t_book(
    `id` int primary key auto_increment,
    `bookName` varchar(20),
    `author` varchar(20),
    `price` decimal(6,2),
    `bookTypeId` int,
    constraint fk foreign key (bookTypeId) references t_bookType(id)
)ENGINE=InnoDB DEFAULT CHARSET=utf8;

// 如果你不想字段为 NULL 可以设置字段的属性为 NOT NULL, 
// 在操作数据库时如果输入该字段的数据为NULL ,就会报错。
// AUTO_INCREMENT定义列为自增的属性,一般用于主键,数值会自动加1。
// PRIMARY KEY关键字用于定义列为主键。 您可以使用多列来定义主键,列间以逗号分隔。
// ENGINE 设置存储引擎,CHARSET 设置编码。
// 最后一行不需要逗号。编码是utf8,如果编码和插入数据类型不对应则会报错
CREATE TABLE IF NOT EXISTS `tb_student`(
   `id` VARCHAR(10),
   `name` VARCHAR(10) NOT NULL,
   `gender` VARCHAR(4) NOT NULL,
   `score` INT,
   PRIMARY KEY ( `id` )
)ENGINE=InnoDB DEFAULT CHARSET=utf8;

// 查看表结构
desc t_bookType;

// 重命名表名
alter table t_book rename t_book2;

// 重命名字段名
alter table t_book change bookName bookName2 varchar(20);

// 添加字段(first表示在添加到第一行,after表示在某一个字段后面添加)
alter table t_book add testField int after author;

// 修改表中某一字段的数据类型
alter table tb_student modify score INT NOT NULL;

// 删除字段
alter table t_book drop testField;

// 删除表(不能先删除有外键约束的表)
drop table test;

三、数据表的插入、更新和删除操作

/**** 1、插入操作 ****/

// 向数据库中插入表中的数据
INSERT INTO tb_student ( id, name, gender, score ) VALUES ( "2018-1", "Eric1", "男", "66");
INSERT INTO tb_student ( id, name, gender, score ) VALUES ( "2018-2", "Eric2", "女", "78");
INSERT INTO tb_student ( id, name, gender, score ) VALUES ( "2018-3", "Eric3", "男", "81");
INSERT INTO tb_student ( id, name, gender, score ) VALUES ( "2018-4", "Eric4", "男", "66");
INSERT INTO tb_student ( id, name, gender, score ) VALUES ( "2018-5", "Eric5", "女", "88");
INSERT INTO tb_student ( id, name, gender, score ) VALUES ( "2018-6", "Eric6", "男", "84");
INSERT INTO tb_student ( id, name, gender, score ) VALUES ( "2018-7", "Eric7", "男", "93");
INSERT INTO tb_student ( id, name, gender, score ) VALUES ( "2018-8", "Eric8", "女", "93");
INSERT INTO tb_student ( id, name, gender, score ) VALUES ( "2018—9", "Eric9", "男", "99");

/**** 2、更新操作 ****/

UPDATE tb_student SET score=66 WHERE id="2018-4"; // 将id为2018-4的字段中的score修改为66

/**** 3、删除操作 ****/

DELETE FROM tb_student WHERE id="2018-4"; // 将id为2018-4的字段删除,如果没有where则删除所有字段
01-02 03:44