数据库的操作及表结构相关语句
1、登录数据库,紧接着输入密码即可
mysql -uroot -p
2、创建数据库,.MySQL数据库的SQL语句不区分大小写,建议使用大写!
CREATE DATABASE day24_1;
3、展示存在的数据库, 记得添加复数形式
show databases;
4、删除数据库
create database day24_2;
drop database day24_2;
删除后
5、切换数据库,使用别的数据库,前提是已经创建好了
use day24_3;
6、查看正在使用的数据库
select database();
表结构的相关语句
1、创建表
格式:
create table 表名(
字段名 类型(长度) 约束,
字段名 类型(长度) 约束
);
创建分类表
CREATE TABLE sort (
sid INT, #分类ID
sname VARCHAR(100) #分类名称
);
到内存中的理解:创建了数据库就相当于创建了一块逻辑空间,实际在磁盘上创建了一个文件夹,创建了一个表,实际磁盘生成了一个.ibd
文件。
2、查看表
show tables;
上图显示的就是sort是day24_3数据库当中的表。
3、查看表结构
desc + 表的结构
desc sort;
4、删除表
drop table + 表名;
drop table sort;
5、修改表结构格式(实际开发中最常用的*)**
5.1 alter table 表名 add 列名 类型(长度) 约束;
作用:修改表添加列。
举例:
#1:为分类表添加一个新的字段为分类描述varchar(20)
ALTER TABLE sort ADD sdesc VARCHAR(20);
当然在实际的开发当中也可以直接添加多个字段分类
/*添加多个列方法一*/
ALTER TABLE student
ADD address VARCHAR(200) NOT NULL,
ADD home_tel CHAR(11) NOT NULL;
/*add语句之间用逗号分隔,最后用分号结束*/
/*添加多个列方法二*/
ALTER TABLE student
ADD (address VARCHAR(200) NOT NULL,home_tel CHAR(11) NOT NULL);
用上面两种方法都行,都可以得到相应的结果。
上面添加字段的位置有时候会出现报错的情况:
5.2 alter table 表名 modify 列名 类型(长度) 约束;
作用:修改表修改列的类型长度及约束
例如:
#2, 为分类表的分类名称字段进行修改,类型varchar(50) 添加约束 not null
和add类似,需要修改多个列的类型长度及约束,那么modify语句之间用逗号分隔,最后一句的末尾使用分号结束即可。5.3 alter table 表名 change 旧列名 新列名 类型(长度) 约束;
作用:修改表修改列名
例如:
#3, 为分类表的分类名称字段进行更换 更换为 snamesname varchar(30)
和add类似,需要修改多个列的类型长度及约束,那么change语句之间用逗号分隔,最后一句的末尾使用分号结束即可。
关键字change和modify区别:modify可以修改字段类型、字段属性,而change可修改字段名称,并且change需要旧列名和新列名。
5.4 alter table 表名 drop 列名;
作用:修改表删除列
例子:
#4, 删除分类表中snamename这列
删除多列情况同上述所示。
!!!
在删除的时候可以直接写明列明,也可以在列明前面加上 column
5.5 rename table 表名 to 新表名;
作用:修改表名
例子:
#5, 为分类表sort 改名成 category
RENAME TABLE sort TO category;
**5.6 alter table 表名 character set 字符集;
作用:修改表的字符集
例如:
#6, 为分类表 category 的编码表进行修改,修改成 gbk
ALTER TABLE category CHARACTER SET gbk;