一、数据库的操作
// 登陆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则删除所有字段