MySQL指令
1>登陆指令
mysql -u账号 -p密码 –登陆自己数据库
mysql -h目标IP -u账号 -p密码 –登陆远程数据库
2>MySQL DDL语句
A 数据库的增,删,改,查,用
创建:
CREATE DATABASE 数据库名;
CREATE DATABASE IF NOT EXISTS 数据库名 CHARACTER SET 编码; –判断不存在才创建数据库并指定编码格式
a查看:
SHOW DATABASES;–查看所有数据库列表
SHOW CREATE DATABASE 数据库名称;–查看创建数据库详细信息
b修改:(修改该数据库编码方式)
ALTER DATABASE 数据库名 CHARACTER SET 编码;
c删除:
DROP DATABASE 数据库名称;
DROP DATABASE IF EXISTS 数据库名;–存在该数据库才删除
d使用:
USE 数据库名;
SELECT DATABASE();–查询正在使用的数据库
B 表的增,删,改,查
a查表:
SHOW TABLES;–查询当前数据库存在数据表列表
DESC 表名称;–查询具体表结构
b创表:
CREATE TABLE 表名称 (列名1 类型1,列名2 类型2);
CREATE TABLE 新表名 LIKE 原始表;复制表
常用数据类型
整数类型 int
小数类型 double(4,1) 4表示有4个数字,1表示精确小数点后1位
字符串类型 varchar(24) 24表示最大容纳24个字符
日期类型 date 需要手动的插入数据到数据库当中
时间戳类型 timestamp 可以自动添加当前的系统时间
c删表
DROP TABLE 表名称;
DROP TABLE IF EXISTS 表名称;–存在该表才删除
d修改表
ALTER TABLE 原始表名 RENAME TO 新的表名;
ALTER TABLE 表名 CHARACTER SET 编码;–更改表编码
修改列名
ALTER TABLE 表名 CHANGE 旧列名 新列名 新列数据类型;
ALTER TABLE 表名 MODIFY 要修改的列名 新的数据类型;
添加列
ALTER TABLE 表名称 ADD 列名称 数据类型;
删除列
ALTER TABLE 表名称 DROP 列名称;
3>MySQL DML语句
a表记录添加
INSERT INTO 表名称 (列名1,列名2,列名3) VALUES (值1,值2,值3);–添加制定列
INSERT INTO 表名称 VALUES (值1,值2,值3,值4,值5);–添加所有列
b删除表记录
DELETE FROM 表名称 WHERE 条件;–按条件删除
DELETE FROM 表名称; – 删除整个表(逐行删除) 效率低
TRUNCATE TABLE 表名称; – 删除整个表(先删表,再建表) 效率高
c修改表记录
UPDATE 表名称 SET 列名1=值1,列名2=值2 [WHERE 条件];–挑选修改
UPDATE 表名称 SET 列名1=值1,列名2=值2;–全改
3>MySQL DML语句
a查询表
SELECT * FROM 表名;–查全记录
SELECT 列名1,列名2 FROM 表名;–查特定记录
b去重复查询
SELECT DISTINCT 列名 FROM 表名;
c四则运算计算列操作
SELECT IFNULL (列名1,0) + 列名2 FROM 表名;
起别名
SELECT 列名1 AS 别名1,列名2 别名2 FROM 表名称;
4>WHERE条件查询
于
SELECT * FROM 表名 WHERE age>20 && age<30;
SELECT * FROM 表名 WHERE age>20 AND age<30;
或
SELECT * FROM 表名 WHERE age=20 || age=30;
SELECT * FROM 表名 WHERE age=20 OR age=30;
非
SELECT * FROM 表名 WHERE address IS NULL;
SELECT * FROM 表名 WHERE address IS NOT NULL;
5>模糊查询WHERE LIKE
SELECT * FROM hero WHERE name LIKE ‘a%’;
SELECT * FROM hero WHERE name LIKE ‘a_’;
a. ‘_’ 下划线,表示1个字符
b. ‘%’ 百分号,表示0个或多个字符