请选择 进入手机版 | 继续访问电脑版

12360技术网 - 专业IT技术发表平台

 立即注册  找回密码
查看: 5717|回复: 6

MySQL学习记录—常用语句集

[复制链接]

14

主题

29

帖子

367

积分

中级会员

Rank: 3Rank: 3

积分
367
发表于 2020-1-26 13:30:15 | 显示全部楼层 |阅读模式

文章目录


修改表名

语法
  1. alter table 旧表名 rename to 新表名;或rename table 旧表名 to 新表名;
复制代码
示例
  1. mysql> show tables;+---------------------+| Tables_in_studentms |+---------------------+| student             || teacher             |+---------------------+2 rows in setmysql> alter table teacher rename to assistant;Query OK, 0 rows affectedmysql> show tables;+---------------------+| Tables_in_studentms |+---------------------+| assistant           || student             |+---------------------+2 rows in setmysql> rename table assistant to teacher;Query OK, 0 rows affectedmysql> show tables;+---------------------+| Tables_in_studentms |+---------------------+| student             || teacher             |+---------------------+2 rows in set
复制代码
修改表选项

语法
  1. alter table 表名 character set=utf8;
复制代码
示例
  1. mysql> alter table teacher character set=utf8;Query OK, 0 rows affectedRecords: 0  Duplicates: 0  Warnings: 0mysql> alter table teacher engine=InnoDB;Query OK, 0 rows affectedRecords: 0  Duplicates: 0  Warnings: 0
复制代码



修改字段名

语法
  1. alter table 表名 change 旧字段名 新字段名 字段类型;
复制代码
示例
  1. mysql> select *from teacher;+----------------+------+------+| assistant_name | age  | sex  |+----------------+------+------+| NULL           | NULL | NULL |+----------------+------+------+1 row in setmysql> alter table teacher change assistant_name teacher_name varchar(20);Query OK, 1 row affectedRecords: 1  Duplicates: 0  Warnings: 0mysql> select *from teacher;+--------------+------+------+| teacher_name | age  | sex  |+--------------+------+------+| NULL         | NULL | NULL |+--------------+------+------+1 row in set
复制代码
修改字段类型

语法
  1. alter table 表名 modify 字段名 字段类型;
复制代码
示例
  1. mysql> describe teacher;+--------------+-------------+------+-----+---------+-------+| Field        | Type        | Null | Key | Default | Extra |+--------------+-------------+------+-----+---------+-------+| teacher_name | varchar(20) | YES  |     | NULL    |       || age          | int(2)      | YES  |     | NULL    |       || sex          | char(2)     | YES  |     | NULL    |       |+--------------+-------------+------+-----+---------+-------+3 rows in setmysql> alter table teacher modify teacher_name int(10);Query OK, 1 row affectedRecords: 1  Duplicates: 0  Warnings: 0mysql> describe teacher;+--------------+---------+------+-----+---------+-------+| Field        | Type    | Null | Key | Default | Extra |+--------------+---------+------+-----+---------+-------+| teacher_name | int(10) | YES  |     | NULL    |       || age          | int(2)  | YES  |     | NULL    |       || sex          | char(2) | YES  |     | NULL    |       |+--------------+---------+------+-----+---------+-------+3 rows in set
复制代码
添加字段

语法
  1. alter table 表名 add 字段名 字段类型;
复制代码
示例
  1. mysql> select *from teacher;+--------------+------+------+| teacher_name | age  | sex  |+--------------+------+------+| NULL         | NULL | NULL |+--------------+------+------+1 row in setmysql> alter table teacher add addr varchar(50);Query OK, 0 rows affectedRecords: 0  Duplicates: 0  Warnings: 0mysql> select *from teacher;+--------------+------+------+------+| teacher_name | age  | sex  | addr |+--------------+------+------+------+| NULL         | NULL | NULL | NULL |+--------------+------+------+------+1 row in set
复制代码
删除字段

语法
  1. alter table 表名 drop 字段名;
复制代码
示例
  1. mysql> select *from teacher;+--------------+------+------+------+| teacher_name | age  | sex  | addr |+--------------+------+------+------+| NULL         | NULL | NULL | NULL |+--------------+------+------+------+1 row in setmysql> alter table teacher drop addr;Query OK, 0 rows affectedRecords: 0  Duplicates: 0  Warnings: 0mysql> select *from teacher;+--------------+------+------+| teacher_name | age  | sex  |+--------------+------+------+| NULL         | NULL | NULL |+--------------+------+------+1 row in set
复制代码



SELECT SELECT 子查询语句

语法
  1. select *from assistantwhere age > (        select age        from assistant        where assistant_name = '五婶');
复制代码
示例
需求: 查看assistant表中所有年龄比五婶大的助教(五婶年龄未知情况下)。
  1. mysql> select *from assistant;+----------------+------+------+| assistant_name | age  | sex  |+----------------+------+------+| NULL           | NULL | NULL || 三娘           |   25 | 女   || 四叔           |   24 | 男   || 五婶           |   20 | 女   |+----------------+------+------+4 rows in setmysql> select *from assistant where age > (select age from assistant where assistant_name='五婶');+----------------+-----+-----+| assistant_name | age | sex |+----------------+-----+-----+| 三娘           |  25 | 女  || 四叔           |  24 | 男  |+----------------+-----+-----+2 rows in set
复制代码
LIKE 模糊查询

语法
  1. SELECT *FROM table_nameWHERE column_name LIKE pattern;
复制代码
示例
需求:  查看assistant表中所有名字中含有三字的助教信息。
  1. mysql> select *from assistant;+----------------+-----+-----+| assistant_name | age | sex |+----------------+-----+-----+| 三叔公         |  35 | 男  || 三娘           |  25 | 女  || 四叔           |  24 | 男  || 五婶           |  20 | 女  |+----------------+-----+-----+4 rows in setmysql> select *from assistant where assistant_name like '%三%';+----------------+-----+-----+| assistant_name | age | sex |+----------------+-----+-----+| 三叔公         |  35 | 男  || 三娘           |  25 | 女  |+----------------+-----+-----+2 rows in setmysql> select *from assistant where assistant_name like '三%';+----------------+-----+-----+| assistant_name | age | sex |+----------------+-----+-----+| 三叔公         |  35 | 男  || 三娘           |  25 | 女  |+----------------+-----+-----+2 rows in setmysql> select *from assistant where assistant_name like '%三';Empty set
复制代码
IN 和 NOT IN 范围查询

作用
   - IN子查询 用于查询符合条件的某个范围的数据。
   - NOT IN子查询 用于查询不符合条件的某个范围的数据。
   - IN和 NOT IN子查询语句的作用相反。
语法
  1. SELECT *FROM table_nameWHERE column_name IN (value1, value2, value3);SELECT *FROM table_nameWHERE column_name NOT IN (value1, value2, value3);
复制代码
示例
需求:  分别查看assistant表中所有名字为三娘和四叔的助教信息  以及 所有名字不为三娘和四叔的助教信息。
  1. mysql> select *from assistant;+----------------+-----+-----+| assistant_name | age | sex |+----------------+-----+-----+| 三叔公         |  35 | 男  || 三娘           |  25 | 女  || 四叔           |  24 | 男  || 五婶           |  20 | 女  |+----------------+-----+-----+4 rows in setmysql> select *from assistant where assistant_name in ('三娘','四叔');+----------------+-----+-----+| assistant_name | age | sex |+----------------+-----+-----+| 三娘           |  25 | 女  || 四叔           |  24 | 男  |+----------------+-----+-----+2 rows in setmysql> select *from assistant where assistant_name not in ('三娘','四叔');+----------------+-----+-----+| assistant_name | age | sex |+----------------+-----+-----+| 三叔公         |  35 | 男  || 五婶           |  20 | 女  |+----------------+-----+-----+2 rows in set
复制代码
                                                                                                                                       
                                                    
  • 点赞                        1                        
  • 收藏                        
  • 分享                                                                                                                        
  •                                                         
                                      
    • 文章举报                           
                                                
                                                                        
                                            
                                                        CD4356                                                                发布了90 篇原创文章 · 获赞 111 · 访问量 5万+                                                                                            私信                                                            关注
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x




上一篇:mysql 索引
下一篇:三级数据库知识点学习(三)
回复

使用道具 举报

0

主题

15

帖子

325

积分

中级会员

Rank: 3Rank: 3

积分
325
发表于 2020-1-28 16:41:38 | 显示全部楼层
楼主太厉害了!楼主,I*老*虎*U![www.12360.co]
回复

使用道具 举报

0

主题

16

帖子

346

积分

中级会员

Rank: 3Rank: 3

积分
346
发表于 2020-2-8 11:14:38 | 显示全部楼层
感谢楼主的无私分享![www.12360.co]
回复

使用道具 举报

0

主题

23

帖子

493

积分

中级会员

Rank: 3Rank: 3

积分
493
发表于 2020-2-9 01:38:27 | 显示全部楼层
楼主发贴辛苦了,谢谢楼主分享![www.12360.co]
回复

使用道具 举报

17

主题

23

帖子

187

积分

注册会员

Rank: 2

积分
187
发表于 2020-2-19 04:12:48 | 显示全部楼层
楼主,大恩不言谢了![www.12360.co]
回复

使用道具 举报

0

主题

15

帖子

325

积分

中级会员

Rank: 3Rank: 3

积分
325
发表于 5 天前 | 显示全部楼层
这东西我收了!谢谢楼主![www.12360.co]
回复

使用道具 举报

0

主题

22

帖子

472

积分

中级会员

Rank: 3Rank: 3

积分
472
发表于 昨天 11:41 | 显示全部楼层
楼主,我太崇拜你了![www.12360.co]
社区不能没有像楼主这样的人才啊!
回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

12360技术网

GMT+8, 2020-2-29 14:20 , Processed in 0.165231 second(s), 48 queries .

本网站内容收集于互联网,Www.12360.Co不承担任何由于内容的合法性及健康性所引起的争议和法律责任。 欢迎大家对网站内容侵犯版权等不合法和不健康行为进行监督和举报。

© 2019-2020 Www.12360.Co

快速回复 返回顶部 返回列表