一、 创建
1.CREATE DATABASE 数据库名称;
2.CREATE DATABASE IF NOT EXISTS 数据库名称 CHARACTER SET 具体的编码; -- 判断是否存在然后给它指定的字符集
二、 删除
1.DROP DATABASE 数据库名称;-- 删数据库
2.DROP DATABASE IF EXISTS 数据库名称;-- 判断是否存在,在就删
三、 修改
1.ALTER DATABASE 数据库名称 CHARACTER SET 具体的编码;-- 修改字符集
四、 查询
1.SHOW DATABASES;-- 这里要加s,用于显示所有数据库
2.SHOW CREATE DATABASE 数据库名称;-- 显示数据库的创建语句
五、 使用
1.USE 数据库名称;-- 使用
2.SELECT DATABASE();-- 查询正在使用当中的数据库
一、 创建
常用的数据类型:int --整型
double(x,y) --小数类型(x表示多少数字,y表示精确到小数点后多少位)
varchar(x) --字符串类型(x表示最大容纳字符数)
date --日期类型
timestamp --时间戳类型(自动添加当前系统时间)
1.CREATE TABLE 表名称(列名 类型,列名 类型)--创建
2.CREATE TABLE 新表名称 LIKE 原始表; -- 复制表
二、 删除
DROP TABLE 表名称;-- 删除
DROP TABLE IF EXISTS 表名称 -- 判断是否存在,在就删
三、 修改
ALTER TABLE 原始表名称 RENAME TO 新的表名;-- 修改表名
ALTER TABLE 表名称 CHARACTER SET 字符集编码;-- 修改表字符集
ALTER TABLE 表名称 CHANGE 旧列名称 新列名称 新列数据类型;--修改列名
ALTER TABLE 表名称 MODIFY 要修改的列名 新的数据类型;--修改列名
ALTER TABLE 表名称 ADD 列名称 数据类型;-- 增加一列
ALTER TABLE 表名称 DROP 列名称;-- 删除一列
四、 查
SHOW TABLES; -- 查询数据库内所有表
DESC 表名称;-- 查询具体表
一、 添加(注意事项:除了数字类型(整数和小数)以外,其他的都要采用引号(单引号双引号都可以)引起来)
INSERT INTO 表名称 (列名,列名,···)VALUES(值,值,···);-- 添加指定列的数据
INSERT INTO 表名称 VALUES(值,值,值,···);-- 添加所有列数据
二、 删除
DELETE FROM 表名称 【WHERE 条件】;-- 删除指定的记录
DELETE FROM 表名称; --删除整个表(逐行删除)效率低
TRUNCATE TABLE 表名称; --删除整个表(先删表,再建表)效率高
三、 修改
UPDATE 表名称 SET 列名=值,列名=值,·· 【WHERE 条件】;-- 修改(常见)
UPDATE 表名称 SET 列名=值,列名=值,·· ;-- 修改所有的情况(不常见)
一、 基础查询
SELECT * FROM 表名称;-- 基本查询
SELECT 列名,列名,·· FROM 表名称;-- 指定列查询
SELECT DISTINCT 列名 FROM 表名称;-- 去重查询
SELECT IFNULL(列名,0)+列名 FROM 表名称;--四则运算后新列的查询(IFNULL(列名,0)把列中的null换成0,便于计算)
SELECT 列名 AS 别名,列名 别名 FROM 表名称;--给查询结果起别名(AS可以省略)
二、 条件查询
1. 与(理解与&&类似)
SELECT * FROM 表名称 WHERE age>11 && age<22;
SELECT * FROM 表名称 WHERE age>11 AND age<22;
SELECT * FROM 表名称 WHERE age BETWEEN 11 AND 22;
2. 或(理解或||类似)
SELECT * FROM 表名称 WHERE age=11 || age=22;
SELECT * FROM 表名称 WHERE age=11 OR age=22;
SELECT * FROM 表名称 WHERE age IN(11,22);
3. 非(理解非!类似)
SELECT * FROM 表名称 WHERE age IS (NOT) NULL;--年龄是(不是)NULL
三、 模糊查询
1. 两个占位符
'_'下划线,表示1个字符
'%'百分号,表示0个或多个字符
2. 案例
SELECT * FROM hero WHERE name LIKE '王%';-- 查询姓'王'的
SELECT * FROM hero WHERE name LIKE '王_';-- 查询姓'王'的且名字是2个字的
SELECT * FROM hero WHERE name LIKE '_王%';--查询名字第二个字是'王'的
SELECT * FROM hero WHERE name LIKE '%王%';--查询名字带'王'的