mysql语句
#-------1:操作数据库的整体sql-----
#1.1 创建一个数据库
#create database 数据库名
CREATE DATABASE day01db; #(重点)
#1.2 查看数据库
SHOW DATABASES;
#1.3 查看创建数据库时,使用的是什么指令
SHOW CREATE DATABASE day01db;
#1.4 删除数据库
DROP DATABASE day01db;
#1.5 选择要使用哪个数据库
USE day01db;
#1.6 查看当前正在使用哪个数据库
SELECT DATABASE();
#------对表的整体进行操作---------
#1.1 创建一个表(重点)
/*
create table 表名(
字段名 类型(长度) [约束],
字段名 类型(长度) [约束],
...
);
1:字段名:每一列的名字
2:类型 :每一列的数据类型
category:商品分类
*/
CREATE TABLE category(
cid INT,
cname VARCHAR(20)
);
#1.2查看表
SHOW TABLES;
#1.3 查看表结构
DESC category;
#1.4 删除表
DROP TABLE category;
#1.5 修改表结构
#给表添加一列
#alter table 表名 add 列名 类型(长度) [约束];
ALTER TABLE category ADD price DOUBLE;
#删除一列
#alter table 表名 drop 列名;
ALTER TABLE category DROP price;
#修改列的类型
#alter table 表名 modify 列名 类型(长度) 约束;
ALTER TABLE category MODIFY price INT;
#修改列名.
#alter table 表名 change 旧列名 新列名 类型(长度) 约束;
ALTER TABLE category CHANGE price money DOUBLE;
#-------- 1:插入,修改,删除数据 insert update delete
#1:插入数据
#insert into 表 (字段1,字段2,字段3..) values(值1,值2,值3..);
INSERT INTO category(cid, cname) VALUES(1,"电子");
INSERT INTO category(cid, cname) VALUES(2,"服装");
INSERT INTO category(cid) VALUES(3);
INSERT INTO category(cname) VALUES("食品");
INSERT INTO category VALUES(5,"玩具"); #如果没有指定列,表示给所有列都赋值
INSERT INTO category VALUES(NULL,NULL);
INSERT INTO category VALUES(6,"蔬菜"),(7,"速冻"),(8,"水果");
#主键(了解):非空和唯一
CREATE TABLE category(
cid INT PRIMARY KEY,
cname VARCHAR(20)
);
#1主键列的值不能重复
INSERT INTO category VALUES(1,"电子");
INSERT INTO category VALUES(2,"服装");
#2主键列的值不能为NULL
INSERT INTO category(cname) VALUES("食品");
#AUTO_INCREMENT:自动增长,主键不用管,自己会从1开始自动加1
CREATE TABLE category(
cid INT PRIMARY KEY AUTO_INCREMENT,
cname VARCHAR(20)
);
INSERT INTO category(cname) VALUES("水果");
INSERT INTO category(cid,cname) VALUES(100,"电子");
#自动增长会找最大的主键值,加1
INSERT INTO category(cname) VALUES("服装");
INSERT INTO category(cid,cname) VALUES(4,"坚果");
INSERT INTO category(cname) VALUES("粮油");
#主键列如果自动增长,则写NULL也可以增长
INSERT INTO category VALUES(NULL,"甜食");
#-----2:修改数据(update)---------
#update 表名 set 字段名=值,字段名=值,... where 条件;
UPDATE category SET cname="电子"; #update如果没有指定条件,默认是所有行都修改
UPDATE category SET cname="服装" WHERE cid =2;
UPDATE category SET cname="化妆品" WHERE cid > 2;
UPDATE category SET cid=5,cname="玩具" WHERE cid=100;
UPDATE category SET cid=3,cname="食品" WHERE cid=101;
UPDATE category SET cname="护肤品" WHERE cname="化妆品";
#----3:删除数据(delete)
#delete from 表名 [where 条件];
#truncate table 表名;
DELETE FROM category; #如果没有指定条件,默认是所有行
DELETE FROM category WHERE cid >= 101;
#delete删除,mysql会自动记录主键的最大值 ,而且每次都是在最大值上加1
INSERT INTO category VALUES(NULL,"食品");
INSERT INTO category VALUES(NULL,"电子");
INSERT INTO category VALUES(1,"化妆品");
#TRUNCATE将原来表删除,再建立新表,所以主键可以从1开始
TRUNCATE TABLE category;