mysql 基本语句

mysql

  • 反引号 ``` 用于区分关键字与普通字符,一般表名与字段名都使用反引号。
  • sql 语句使用 ; 结束。
  • 括号中最后一个项不能存 , 逗号。

---- 数据库
SHOW DATABASES; -- 显示所有库
CREATE DATABASE 库名; -- 创建数据库
DROP DATABASE 库名; -- 删除数据库

---- 表
SHOW TABLES; -- 显示所有表
CREATE TABLE IF NOT EXISTS `runoob_tbl`( -- 如果表不存在就创建表
   `runoob_id` INT UNSIGNED AUTO_INCREMENT, -- 整型 无符号 自增
   `runoob_title` VARCHAR(100) NOT NULL, -- 不为空
   `submission_date` DATE, -- 日期
   PRIMARY KEY ( `runoob_id` ) -- 主键
)ENGINE=InnoDB DEFAULT CHARSET=utf8; -- 存储引擎 编码

DROP TABLE 表名 ; -- 删除表
-- 不再需要该表时, 用 drop; --
-- 仍要保留该表,但要删除所有记录时, 用 truncate;
-- 要删除部分记录时, 用 delete。 -- delete from blogs where title = "标题";

---- 数据
INSERT INTO 表名 ( 字段1, 字段2 ) -- 插入多条 数据
                VALUES
                ( 键值1, 键值2 ),
                ( 键值1, 键值2 );

INSERT INTO 表名 VALUES ( 键值1, 键值2 );

---- 查询数据
SELECT 列名1,列名2 -- * 表示所有
FROM 表名 -- 可以有多个表
[WHERE 条件] -- 使用 AND 或 OR  指定多个条件
[LIMIT 返回条数] [OFFSET 偏移条数]

SELECT * FROM1,表2 WHERE1.id = 表2.id -- 多表查询

---- 更新数据
UPDATE table_name SET field1=new-value1, field2=new-value2 [WHERE Clause]

-- 以下实例将更新 id 为 3 的 field 字段值的 "C++" 替换为 "Python":
UPDATE runoob_tbl SET field = REPLACE(field, 'C++', 'Python') where id = 3;

-- 将 runoob_tbl 表中获取 runoob_author 字段中以 COM 为结尾的的所有记录:
SELECT * from runoob_tbl  WHERE runoob_author LIKE '%COM';
-- %:表示0个或多个字符。
-- _:表示任意单个字符。
-- []:在[]内的字符。
-- [^] :不在[]内的字符。
-- 包含通配符时,用 [] 包裹。

---- 排序
SELECT * from runoob_tbl ORDER BY submission_date ASC; -- ASC 升序

---- 分组
SELECT name, COUNT(*) FROM   employee_tbl GROUP BY name; -- 统计相同 name 在表中的数量
SELECT coalesce(name, '总数'), SUM(singin) as singin_count FROM  employee_tbl GROUP BY name WITH ROLLUP; -- 分组的同时计算登录次数并重命名字段

--- 正则表达式
-- 查找name字段中以元音字符开头或以'ok'字符串结尾的所有数据:
SELECT name FROM person_tbl WHERE name REGEXP '^[aeiou]|ok$';
posted @ 2019-07-02 10:41  程序媛李李李李蕾  阅读(269)  评论(0编辑  收藏  举报