前言
上一篇文章直接介绍了数据的增删改查,女朋友说没有说到数据库和表相关的操作,问我改学些什么,那么这篇文章就说一下数据库和表相关的操作。如果想和我一起学习的话请提前装好mysql哦。
准备
我们本次使用的数据库为mysql,没有使用管理工具,直接在终端中通过命令行进行操作,因为我的mysql是装在linux服务器中的,所以我通过xshell连接至我的服务器进行操作。
一、练习题目
1、通过命令连接mysql服务
学习mysql连接命令
2、查看当前连接的mysql服务有哪些数据库
学习查看数据库
3、新建一个数据库school
学习新建数据库
4、进入school数据库
学习选择数据库
5、查看school数据库中有哪些表
学习查看数据表
6、新建student数据表,包含3个字段:id 整型、name 字符型、sex 字符型
学习新建数据表
7、修改sex字段长度为100
学习修改数据表的字段
8、给student表新增一个字段class,字符型,长度255
学习新增数据表的字段
9、修改字段class字段名为class1
学习修改字段名
10、删除student表的class1字段
学习删除数据表的字段
11、删除student表
学习删除数据表
12、删除数据库school
学习删除数据库
二、用到的语法
1、连接
mysql -u[用户名] -p[密码]
如果远程连接的话则需要加上host和port
mysql -h host -P port -u[用户名] -p[密码]
2、查看数据库
show databases;
3、选择数据库
use database 数据库名;
4、查看数据表
show tables;
5、创建数据表
CREATE TABLE table_name (column_name column_type 可以加上可选参数PRIMARY KEY ( `column_name` )来设置主键)[ENGINE=InnoDB DEFAULT CHARSET=utf8];
实例解析:
如果你不想字段为 NULL 可以设置字段的属性为 NOT NULL, 在操作数据库时如果输入该字段的数据为NULL ,就会报错。
AUTO_INCREMENT定义列为自增的属性,一般用于主键,数值会自动加1。
PRIMARY KEY关键字用于定义列为主键。 您可以使用多列来定义主键,列间以逗号分隔。
ENGINE 设置存储引擎,CHARSET 设置编码
以下为创建MySQL数据表的SQL通用语法:
CREATE TABLE IF NOT EXISTS `runoob_tbl`(
`runoob_id` INT UNSIGNED AUTO_INCREMENT,
`runoob_title` VARCHAR(100) NOT NULL,
`runoob_author` VARCHAR(40) NOT NULL,
`submission_date` DATE,
PRIMARY KEY ( `runoob_id` )
)ENGINE=InnoDB DEFAULT CHARSET=utf8;
6、修改数据类型
ALTER TABLE table_name MODIFY COLUMN column_name datatype;
6、修改字段名
ALTER TABLE 表名 CHANGE 原列名 新列名 列类型;
7、新增字段
ALTER TABLE table_name ADD column_name datatype
8、删除字段
ALTER TABLE table_name DROP COLUMN column_name;
9、删除表
DROP TABLE 表名;
10、删除数据库
DROP DATABASE 数据库名;
11、创建数据库
CREATE DATABASE 数据库名;
12、查看表结构:
DESC 表名;
三、开始我们的学习
1、连接数据库:
mysql -uname -ppassword
执行结果:
当出现welcome to the mysql monitor就代表连接成功了,下面会出现mysql>,我们就可以输入查询了,在我们输入每一条查询都要养成加英文分号的好习惯。
2、查看当前连接的mysql服务有哪些数据库,我们输入查询:
show databases;
执行结果:
可以看到我们有13个数据库。
3、新建一个数据库school,输入查询:
create database school;
查询结果:
可以看到执行成功了
我们查看一下有没有这个数据库
4、进入school数据库,我们输入查询:
use school;
查询结果:
5、查看school数据库中有哪些表,我们输入查询:
show tables;
查询结果:
可以看到当前库中没有数据表
6、新建student数据表,包含3个字段:id 整型、name 字符型、sex 字符型,我们输入查询:
create table student(id int,name char(255),sex char(2));
查询结果:
我们看下表是否存在了:
可以看见创建成功了,我们再查看下字段属性,使用desc:
7、修改sex字段长度为100,我们输入查询:
alter table student modify column sex char(100);
执行结果:
修改成功了
8、给student表新增一个字段class,字符型,长度255,我们输入查询:
alter table student add class char(255);
查询结果:
添加成功
9、修改字段class字段名为class1,输入查询:
alter table student change class class1 char(255);
查看结果:
修改成功
10、删除student表的class1字段,输入查询:
alter table student drop column class1;
查看结果:
删除成功
11、删除student表,输入查询:
drop table student;
查询结果:
删除成功了
12、删除数据库school,执行查询:
drop database school;
查询结果:
删除成功