MySql

40 阅读2分钟
CREATE DATABASE `xiaoman`
DEFAULT CHARACTER SET = 'utf8mb4';

-- show databases;
-- CREATE DATABASE `xiaoman`
-- CREATE DATABASE IF NOT EXISIS `xiaoman` 如果不存在就创建 否则什么都不做
-- DEFAULT CHARACTER SET = 'utf8mb4'; 创建数据库时指定默认字符集

-- 操作数据表
CREATE TABLE `xiaoman`.`user`(
    id INT NULL AUTO_INCREMENT,
    name VARCHAR(100) COMMENT '名字'
    age INT,
    create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP
) COMMENT '用户表';
-- CREATE TABLE `user`
-- 字段名称 字段的类型 字段的属性
-- NOT NULL 非空
-- AUTO_INCREMENT 自增
-- PRIMARY KEY 主键
-- UNIQUE 唯一
-- TIMESTAMP 时间戳
-- DEFAULT CURRENT_TIMESTAMP 默认当前时间
-- COMMENT 注释
-- ALTER TABLE `user` RENAME `user2` 重命名表
-- ALTER TABLE `user` ADD COLUMN `email` VARCHAR(100) COMMENT '邮箱'
-- ALTER TABLE `user` DROP COLUMN `email` 删除列
-- ALTER TABLE `user` MODIFY `age` VARCHAR(100)  COMMENT '年龄' 修改列

-- 查询单个列 SELECT id FROM `user`;
-- 查询多个列 SELECT id,name FROM `user`
-- 列的别名 SELECT id as userId FROM `user`;
-- 排序  SELECT * FROM `user` ORDER BY id DESC;
-- 限制查询 SELECT * FROM `user` LIMIT 0,1;
-- 条件查询 SELECT * FROM `user` WHERE name = '小王';
-- 多个条件 SELECT * FROM `user` WHERE name = '小满' AND age = '18';  
            SELECT * FROM `user` WHERE name = '小满' OR age = '18';
-- 模糊查询 SELECT * FROM `user` WHERE name LIKE '%满'; 以满结尾的符合 %;匹配0个或多个字符 _代表模糊一个字符 __两个 %满% 包含满字

-- 增删改
-- 插入 INSERT INTO `xiaoman`.`user`(`name`, `age`, `address`) VALUES('xiaoman', 20, 'sx');
-- 插入多个 INSERT INTO `xiaoman`.`user`(`name`, `age`, `address`) VALUES('xiaoman', 20, 'sx'), 
   ('xiaoman', 20, 'sx');
-- 更新 UPDATE `user` SET name='xiaoman2',age=88 WHERE id=5;
-- 删除 DELETE FROM `user` WHERE id=5; 
-- 批量删除 DELETE FROM `user` WHERE id IN(3,4);

表达式函数
SELECT * FROM `user`
SELECT age + 100 FROM `user`
SELECT CONCAT(`name`, '的年龄是', `age`) FROM `user`
SELECT MIN(`age`) FROM `user`
SELECT IF(age = 1, '男', '女') FROM `user`

SELECT * FROM `table` WHERE user_id = (SELECT id FROM `user` WHERE name = '小满')

-- 内连接
SELECT * FROM `user`,`table` WHERE user.id = table.user_id

-- 外连接 左连接 以驱动表为主 返回3SELECT * FROM `user` LEFT JOIN `table` ON user.id = table.user_id 
-- 外连接 右连接 返回20
SELECT * FROM `user` RIGHT JOIN `table` ON user.id = table.user_id
-- 子查询
SELECT * FROM `user` WHERE id IN (SELECT user_id FROM `table` WHERE id = 1)