#------数据库操作------
#切换数据库:
USE 数据库名;
#创建数据库:
CREATE DATABASE 数据库名;
#删除数据库:
DROP DATABASE 数据库名;
#修改数据库:
ALTER DATABASE 数据库名;
#查看数据库:
SHOW DATABASES;
#------数据表操作------
#查看表结构:
DESCRIBE 表名;-- 简化(DESC)
#修改表:
-- (1)修改表名:
ALTER TABLE 原表名 RENAME 新表名;
-- (2)修改字段名:
ALTER TABLE 表名 CHANGE 原字段名 新字段名 新数据类型;
-- (3)修改字段的排列位置:
ALTER TABLE 表名 MODIFY 字段A 数据类型 FIRST|AFTER 字段B;
-- (4)添加字段:
ALTER TABLE 表名 ADD 字段名 数据类型;
-- (5)删除字段:
ALTER TABLE 表名 DROP 字段名;
-- (6)修改表的存储引擎:
ALTER TABLE 表名 ENGINE=存储引擎名;
#复制表:
-- (1)复制表结构及数据到新表:
CREATE TABLE 新表名 SELECT * FROM 源表名;
-- (2)只复制表结构到新表:
CREATE TABLE 新表名 SELECT * FROM 源表名 WHERE FALSE;
-- (3)复制表的部分字段及数据到新表:
CREATE TABLE 新表名 AS (SELECT 字段1,字段2,......字段n FROM 源表名);
#删除表:
DROP TABLE 表名;
#约束:
-- (1)PRIMARY KEY(主键约束):
字段名 数据类型 PRIMARY KEY;
PRIMARY KEY(字段名1,字段名2,...,字段名n);
-- (2)NOT NULL约束:
属性名 数据类型 NOT NULL;
-- (3)DEFAULT约束:
属性名 数据类型 DEFAULT 默认值;
-- (4)UNIQUE约束(唯一约束):
属性名 数据类型 UNIQUE;
-- (5)FOREIGN KEY(外键约束):
CONSTRAINT 外键名 FOREIGN KEY (外键字段名) REFERENCES 主表名 (主键字段名);
#创建数据表(FLOAT和DOUBLE型数据要设置小数点参数):
-- (1)添加了重音符号:
CREATE table `表名`(
`字段名1` INT(10) PRIMARY KEY AUTO_INCREMENT COMMENT '用户ID',
`字段名2` DOUBLE(30,2) NOT NULL,
`字段名3` VARCHAR(30) NOT NULL,
`字段名4` VARCHAR(30) NOT NULL,
`字段名5` ENUM('是','否') DEFAULT '是' ,
`字段名6` FLOAT(20,2) NOT NULL,
`字段名7` DATE NOT NULL,
`字段名8` VARCHAR(255) NOT NULL
);
-- (2)没有重音符号:
CREATE table cx_xiao(
cxId INT(10) PRIMARY KEY AUTO_INCREMENT COMMENT '用户ID',
cxCode INT(30) NOT NULL,
cxName VARCHAR(30) NOT NULL,
cxWriter VARCHAR(30) NOT NULL,
cxIfSale ENUM('是','否') DEFAULT '是' ,
cxPrice FLOAT(30,2) NOT NULL,
cxTime DATE NOT NULL,
cxInformation VARCHAR(255) NOT NULL
);
#------数据操作------
#添加插入数据:
INSERT INTO 表名(字段列表) VALUES(值列表1),(值列表2);
-- 其他语法格式:INSERT INTO 表名 SET 字段名1=值1,字段名2=值2;
REPLACE INTO 表名(字段列表) VALUES(值列表1),(值列表2);
-- 插入其他表的数据:
INSERT INTO 目标数据表(字段列表1) SELECT 字段列表2 FROM 源数据表 WHERE 条件表达式;
#删除数据:
DELETE FROM 表名 WHERE 条件表达式;
-- 删除所有数据:
DELETE FROM 表名;
TRUNCATE 表名;
#修改数据:
UPDATE 表名 SET 字段名1=值1,字段名2=值2,字段名3=值3,...字段名n=值n [WHERE 条件表达式];
#查询数据(SELECT):
SELECT * FROM 表名;
-- 条件查询:
SELECT * FROM 表名 WHERE 条件表达式;
-- 按列查询或列计算(字段名进行+-*/):
SELECT 字段名列表 FROM 表名;
-- 为查询列指定名称:
SELECT 字段名1 AS 指定名称1,字段名2 AS 指定名称2, FROM 表名;
#------mysql8.0.32数据库安装网址------