创建数据库day01 CREATE DATABASE day01;
创建数据库 day001,字符集使用GBK CREATE DATABASE day001 CHARACTER SET gbk;
查看数据库MySQL服务器中的所有的数据库: show databases;
查看当前数据库中的所有表 SHOW TABLES;
删除数据库: DROP DATABASE day001;
删除表 DROP TABLE category;
修改表名 rename table 旧表名 to 新表名;
使用/切换数据库 use 数据库名称; USE test;
常用数据类型: 整数:int 小数:double 日期:date 字符串:varchar(长度)
约束:对某列数据进行限制
主键约束:限制一列数据,即不能为空,也不能重复
唯一约束:限制一列数据,不能重复
非空约束:限制一列数据,不能为空
修改表结构_添加列:add(添加)
格式: alter table 表名 add 列名 数据类型(长度) [约束]; ALTER TABLE category ADD age INT;
修改age字段类型为varchar(20),添加一个非空约束 not null
ALTER TABLE category MODIFY age VARCHAR(20) NOT NULL;
修改表结构_删除列:drop ALTER TABLE category DROP PASSWORD;
修改category表的字符集为gbk
ALTER TABLE category CHARACTER SET gbk;
数据库表中添加数据:insert(插入) into(在...中)
1.列名和值必须一一对应(个数,数据类型)
2.除了数值类型,其他类型的值在使用的时候必须使用引号包裹起来(单引,双引);建议使用单引
格式一: INSERT INTO category(cid,cname) VALUES(1,'冰箱');
格式二:如果主键是自动增长的,那么可以省略主键字段
insert into 表名(非主键字段) values(非主键字段的值); INSERT INTO category(cname) VALUES('彩电');
格式三:可以省略列名的书写,但是值必须全部写出,包括主键
insert into 表名 values(全部的值);
格式四:批量插入数据 insert into 表名(列名1,列名2...) values(值1,值2...),...,(值1,值2...);
修改表中的数据:update(更新,改变)
1.改变符合条件的值 update 表名 set 字段名1=字段值,字段名2=字段值,...,字段名n=字段值 [where 条件]
2.改变列中所有的值 update 表名 set 字段名1=字段值,字段名2=字段值,...,字段名n=字段值;
删除表中数据:delete(删除) from(从哪)
1.删除符合条件的数据
delete from 表名 [where 条件]; DELETE FROM category WHERE cid=55;
2.删除表中所有的数据,逐行把表中的数据全部删除,但是不重置主键自增;再添加数据,继续使用之前的主键
delete from 表名
3.删除表中所有的数据,会把表也删除,从新创建新表,会重置主键自增;再添加数据,主键从新开始
truncate table 表名;
主键约束:限制某列数据,即数据不能为null,又数据不能重复
使用关键字:
primary key
注意:
1.每个表中都应该有一个主键,并且只能有一个主键(方便我们根据主键进行增删改查)
2.主键一般不要使用业务相关字段(name,age);一般都是新建一个主键字段
3.主键在mysql数据库中一般都使用int类型,方便主键自增
创建表时,在字段描述处,声明指定字段为主键
字段名 数据类型(长度) primary key
删除主键约束:使用修改表结构,删除列
格式:
alter tbale 表名 drop primary key;
唯一约束:约束某列数据不能重复
使用关键字: unique
注意: 如果列中的值是null,那么就失去了唯一约束的作用
创建表时,在字段描述处,声明唯一
字段名 数据类型(长度) unique
-- 创建商品分类表:category 字段:分类主键,分类名称
CREATE TABLE category(
-- 分类主键
cid INT,
-- 分类名称
cname VARCHAR(20)
);
创建表category 字段:分类主键,分类名称 分类主键:添加主键约束和自动增长
CREATE TABLE category(
-- 分类主键
cid INT PRIMARY KEY AUTO_INCREMENT,
-- 分类名称
cname VARCHAR(20)
);
创建商品表:
CREATE TABLE product(
-- 商品主键
pid INT PRIMARY KEY,
-- 商品名称
pname VARCHAR(20),
-- 商品价格
price DOUBLE,
-- 商品分类
category_id VARCHAR(32)
);