mysql语句

01 链接mysql数据库

第一步 widow+R打开终端: 输入mysql -u root -p

第二步 再输入密码

02 查看所有的库

show databases; 需要加分号

03 打开可视化面板,通过在文件夹中输入命令执行数据库

打开文件的方式:

04 在文件中创建数据库:

CREATE DATABASE   `xiaoman`  鼠标右键点击执行

如果数据库存在了又创建会报错:这时候可以使用如下命令创建

CREATE DATABASE IF NOT EXISTS `xiaomi`

意思就是如果不存在就创建数据库 存在就什么都不做了

05 创建数据库设置字符集

DEFAULT CHARACTER SET = "utf8mb4"

06 创建表: 字段 : 类型 属性 

CREATE TABLE `user` (

        id INT NOT NULL  AUTO_INCREMENT  PRIMARY KEY,// int类型 不为空 自增长 唯一主键

        name VARCHAR(100) COMMENT '名字', // 字符串类型

        age INT COMMENT '年龄',

        address VARCHAR(200) COMMENT ‘地址’,  

        create_time TIMESTAMP  DEFAULT CURRENT_TIMESTAMP // 时间搓  自动创建时间

) COMMENT ‘用户表’

INT:数字类型 VARCHAR:字符串  NOT NULL:不为空  

AUTO_INCREMENT:自动增长   PRIMARY KEY:主键

COMMENT:注释   TIMESTAMP:时间戳    DEFAULT CURRENT_TIMESTAMP:自动创建时间

07  修改表名 ALTER改变  RENAME 重名

ALTER TABLE `user` RENAME `user2`

08  增加字段 ADD COLUMN  hobby;

ALTER TABLE `user` ADD COLUMN `hobby` VARCHAR(200) COMMENT '爱好'

09 删除字段 DROP

ALTER TABLE `user` DROP `hobby`;

10 修改字段的类型 MODIFY

ALTER TABLE `user` MODIFY `age` VARCHAR(100) COMMENT '年龄'

11 新增删除支持连贯写法 

ALTER TABLE `user` DROP `hobby`,DEOP `address` ;

12  查询单个列 id 

SELECT  id  FROM `user`;

13 查询多个列 id name

SELECT id,name FROM `user`;

14 查询所有列 *

SELECT * FROM `user`;

15  重命名列的名字 as

SELECT id as user_id FROM `user`;

16 排序 按id进行降序 ORDER BY id DESC (ASE升 DESC降)

SELECT * FROM `user` ORDER BY id DESC;

17 限制查询结果LIMIT 开始行0 数量3  从0开始的3条数据

SELECT * FROM `USER` LIMIT 0,3;

18 条件查询 WHERE

SELECT * FROM `user` WHERE name =  '小曼';

19 联合查询 WHERE + AND

SELECT * FROM `user` WHERE name =  '小曼' AND age < 20;

20 或查询 OR

SELECT * FROM `user` WHERE name =  '小曼' OR age < 20;

21 模糊查询 LIKE %x

SELECT * FROM `user` WHERE name LIKE '%曼';  以曼结尾的

SELECT * FROM `user` WHERE name LIKE '%曼%';  带曼的

SELECT * FROM `user` WHERE name LIKE '_曼%';  第二个字是曼的 _代表一个占位符

22 新增字段 INSERT INTO

INSERT INTO  user(`name`,`age`, `hobby`) VALUES('xiaoman',23,'女人') 新增单个

INSERT INTO user(`name`,`age`,`bobby`) VALUES ('xiao',23,'篮球'),('yao',34,'足球') 新增多个,

INSERT INTO user(`name`,`age`) VALUES(null,23)  支持null

23 更新 UPDATE 表名 SET   更新id为12的数据

UPDATE `user` SET name=‘zhangsan’, age = 12,hobby = '篮球' WHERE id = 12

24 删除 DELETE

DELETE FROM `user` WHERE id=12  单个删除

DELETE FROM `user` WHERE id IN(1,2,3,4) 批量删除

25 表达式+函数

SELECT age+20 FROM `user`; 意思:筛选age列的数据 并把所有的age+20输出,但输出的列名是age+20,

SELECT age+20 as age FROM `user` 重命名列名 as

SELECT age FROM `user` WHERE age >= 20 ;   age大于20的输出

SELECT CONCAT(`name`,'最骚') FROM `user`   将name列筛选出来并将name的值拼接最骚

SELECT CONCAT(`name`,'最骚') as name FROM `user`   as换名

SELECT LEFT(`name`,1) FROM `user`;  将name列筛选出来,name列的值为截取的第一个值

SELECT RIGHT(`name`,1) FROM  `user` 从右边开始截取第一个值

SELECT RAND() FROM `user` ; 生成随机数

SELECT SUM(`age`) FROM `user`;  将所有的age的值加起来输出

SELECT AVG(`age`) FROM  `user`; 将所有age的平均值输出

SELECT MAX(`age`) FROM ·user·; 输出age的值的最大值

SELECT MIN(`age`) FROM ·user·; 输出age的值的最小值

SELECT COUNT(`age`) FROM `user`; 这一列的总和, 总共几列

SELECT NOW() FROM `user` ; 输出今天的时间

SELECT DATE_ADD(NOW(), INTERVAL 1 DAY) FROM `user`;  输出第二天的时间,今天+1

SELECT DATE_SUB(NOW(), INTERVAL 1 DAY) FROM `user`;  输出昨天的时间,今天-1

SELECT IF(sex=1,'男',‘女’) FROM `user`;  输出sex这列值对应的男与女

25 子查询和连表

案例: 创建两个表user表和table表, table表的user_id对应user表的id;
 

子查询 条件要用()包起来

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

这个执行语句先执行小括号的 将user表中的name=小曼的id查询出来

再赋值给table表的user_id将 table中user_id这条数据查询出来
 

连表查询:目的 把table和user表的数据合并到一起

内连接: 把user表的id和table表的user_id链接到一起

SELECT * FROM `user`,`table` WHERE `user`.`id` = `table`.`user_id`

存在的问题、如果 table表的数据为null的时候就不会进行链接 数据丢失了

外连接:

SELECT *  FROM `user` LEFT JOIN `table` ON `user`.`id` = `table`.`user_id`

LEFT表示会以左边的表为准,如果右边的表没有数据会以null进行填充

RIGHT表示以右边的表为准,如果右边的表3条数据左边的4条,那么查出来的就是3条数据

  • 25
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值