数据库的操作(创建,查看,修改,删除)
创建
create database 数据库名称 (character set 'UTF8MB4');//括号后可以省略
创建的数据库,默认采用latin字符集,如果想修改,可以设置括号中的内容
UTF8 : 3个字节进行存储!
UTF8MB4 : 4个字节进行存储!(建议)
查看
show databases;
//显示所有由MYSQL管理的数据库;
修改
alter database 数据库名称 character set 'utf8';
//修改库,改不了库的名字,但是可以改库的编码集!
删除
drop database 数据库的名称;
//删除数据库
表的操作
创建表
create table 表的表名 (字段列表); //字段列表:字段名 数据类型 字段约束
字段名
就是对象的属性,数据库中字段名的命名方式
1、所有单词都小写,单词之间使用 _ 进行分割
2、如遇到一些关键字,需要作为字段名,需要使用 TAB键,上方的波浪键进行转义
3、见名知意
合法的例如:user_name login_name gender age pwd( == password)
数据类型:
数值类型
日期和时间类型
字符串类型
注意:char 和 varcher 是常用的2种字符类型
char(10) 的特点:数据库需要提前在硬盘上 分配 10个字符的空间,不管10个字符的空间有没有内容,因为它是定长字符
varchar(10)的特点:有多少个字符就分配多少空间,但是最大空间不得超过10,因为它是可变长度的字符类型! 一个中文,占2个字节,一个英文,占1个字节
字段约束
约束:对字段的值做某些要求
主键约束:每个表中都需要有一列是唯一的,好比:你们的书,每一页都有一个唯一的页码。通常该列固定为:id列 用:Primary Key
非空约束:表示某一列的值,不能为NULL 用:NULL NOT NULL
唯一约束:表示某一列的值,不能重复 例如:登陆名 UNIQUE KEY
自增约束:表示某一列的值,需要自动增长,但是只能放在数值列上 AUTO_INCREMENT
外键约束:表示某一列的值,可能是其他表的主键 用:foreign key
非负约束:表示某一列的值,不能是负数 用:unsigned
默认约束:表示某一列的值,可以有默认值 用default
字段约束:[NOT NULL | NULL] [DEFAULT default_value] [AUTO_INCREMENT] [UNIQUE [KEY]] [PRIMARY KEY]
[FOREIGN KEY] [UNSIGNED] [COMMENT ‘注释的内容’]
创建表实例
//将目录移动到数据库
use 数据库的库名;
//创建表
create table goods_info (
id bigint primary key auto_increment,
goods_name varchar(60) not null,
goods_type int not null,
goods_price decimal(10,2) unsigned not null,
goods_desc varchar(200) null
);
修改表
新增列
alter table 表的表名 add column 新的字段名 数据类型 [字段约束];
//例子
alter table goods_info add column made_day date comment '生产日期';
删除列
alter table 表的表名 drop 列的列名;
//例子
alter table goods_info drop made_day;
修改一列为新列
alter table 表的表名 change 老字段 新字段 数据类型 [字段约束];
//例子
alter table goods_info change goods_type goods_type smallint unsigned;
删除表
drop table 表的表名;
//例子
drop table goods_info;
