为了账号安全,请及时绑定邮箱和手机立即绑定
慕课网数字资源数据库体验端
与MySQL的零距离接触_学习笔记_慕课网
为了账号安全,请及时绑定邮箱和手机立即绑定

与MySQL的零距离接触

平然 学生
难度入门
时长 8小时29分
  • insert,数据从一个表插入到另一个表: INSERT table_name(column_name) SELECT ... mysql> create table test( -> id tinyint unsigned primary key auto_increment, -> username varchar(20) -> ); Database changed INSERT test SELECT username FROM users WHERE age >=30; // 提示字段不匹配 因为 表中只定义了username用来输入 所以不能输入过多的数据 mysql> insert test(username) select username from users where age >=30; 输入年龄大于30的username Database changed Records: 2 Duplicates: 0 Warnings: mysql> select * from test; +----+----------+ | id | username | +----+----------+ | 1 | Jhon | | 2 | JASON | | 4 | Jhon | | 5 | JASON | +----+----------+ 4 rows in set
    查看全部
  • limit限制查询结果返回数量 [LIMIT{[offset,]row_countrow_count OFFSET offset}] 行是从0开始定义的 所以本例中 id=1时 其实是第零条 id=2时 是第一条 mysql> select * from users limit 0,1 ; 第0个位置,返回1条 //limit 后接的数字的涵义为 位置,以及返回数量 意思就是 从定义位置开始进行返回 +----+----------+----------+-----+-----+ | id | username | password | age | sex | +----+----------+----------+-----+-----+ | 1 | Tom | 123 | 29 | 0 | +----+----------+----------+-----+-----+ 1 row in set mysql> select * from users limit 3,4 ; //第三条开始,返回四条 id=4 但是 所占位置是第三 +----+----------+----------+-----+-----+ | id | username | password | age | sex | +----+----------+----------+-----+-----+ | 4 | Lancer | 3 | 27 | 0 | | 5 | XIAOMING | 123 | 23 | 0 | | 7 | Ben | 456 | 8 | 0 | | 8 | JACK | 456789 | 17 | 0 | +----+----------+----------+-----+-----+ 4 rows in set
    查看全部
  • order by 语句【对查询结果进行排序】 [ORDER BY {col_name | expr | position} [ASC|DESC],...] 1、对查询结果进行排序,默认是升序ASC,DESC为降序: 例如:select * from users order by id desc; 2、可以同时按多条字段进行排序,规则是先按前面的字段排,在基础上再按后面字段排。 如:SELECT * FROM users ORDER BY age,id DESC; 先按照age进行默认【ASC】排序,如果age有重复的,重复的字段里按id进行【DESC】排序 mysql> select * from users order by id DESC; 也可以by age 一个道理 +----+----------+----------+-----+------+ | id | username | password | age | sex | +----+----------+----------+-----+------+ | 9 | JASON | 222 | 33 | NULL | | 8 | JACK | 456789 | 17 | 0 | | 7 | Ben | 456 | 8 | 0 | | 5 | XIAOMING | 123 | 23 | 0 | | 4 | Lancer | 3 | 27 | 0 | | 3 | XINNAN | 123 | 19 | 0 | | 2 | Jhon | 456 | 38 | 0 | | 1 | Tom | 123 | 29 | 0 | +----+----------+----------+-----+------+ 8 rows in set
    查看全部
  • 深化分组 having 语句分组: 用在group by后面追加条件,判断式中的【字段是必须出现在前面select中的】或者是 【可以包含没有出现在前面查询中的字段的一个聚合函数count(),max()等等】 用法: [HAVING when where_condition] 其中,where_condition要么是聚合函数(max,min,avg,count,sum),要么其中的字段必须是SELECT中的一个查询字段,否则会报错 SELECT sex FROM users GROUP BY 1 HAVING age > 35; //有错,age字段必须是SELECT中的一个查询字段 如语句【SELECT sex, age FROM users GROUP BY 1 HAVING age > 35;】 SELECT sex FROM users GROUP BY 1 HAVING count(id) >= 2; (这条指令,指按照sex分组,分成了两组sex=0和sex=NULL,条件id数大于2的留下显示,显然sex=0个数有8>2故留下,而sex=NULL个数为1,不满足条件,故不显示。如果条件改成count(id)>=1,则会显示sex为0和NULL两个分组) 聚合函数永远只有一个返回结果。 count是记录个数的聚合函数。 mysql> select sex from users group by 1 having count(id) >= 2 ; +-----+ | sex | +-----+ | 0 | +-----+ 1 row in set
    查看全部
  • group by 查询结果分组 SELECT sex FROM users GROUP BY sex; SELECT 【列名】 FROM users GROUP BY 1;(这里的1表示查询的第一个字段,这里查询所有字段信息,对第一个字段进行分组) asc 升序排列,desc 降序排列 [GROUP BY {col_name | position} [ASC | DESC],...] 名字 位置 mysql> select sex from users group by 1; +------+ | sex | +------+ | NULL | | 0 | +------+ 2 rows in set mysql> select sex from users group by sex; +------+ | sex | +------+ | NULL | | 0 | +------+ 2 rows in set 尽量还是去输入字段名、毕竟这样比较方便 mysql> select id from users group by id desc; 降序 +----+ | id | +----+ | 9 | | 8 | | 7 | | 5 | | 4 | | 3 | | 2 | | 1 | +----+ 8 rows in set
    查看全部
  • select 查询顺序 和 AS 会有两种后果 1、字段出现的顺序将影响结果集出现的顺序 2、字段的别名将影响结果集当中的别名 这点在以后PHP中非常重要 mysql> show columns from users;查询列意义 mysql> select id,username from users;查询users表中的 id 和 username +----+----------+ | id | username | +----+----------+ | 1 | Tom | mysql> select username,id ;查询users表中的 username 和 id +----------+----+ | username | id | +----------+----+ | Tom | 1 |顺序可以改变 mysql> select users.id,users.username from users; 确切写出某表某列 注意看标点符号 利用AS进行 别名 命名 mysql> select id AS userid,username as name from users; +--------+----------+ | userid | name | +--------+----------+ | 1 | Tom | | 2 | Jhon | | 3 | XINNAN | | 4 | Lancer | | 5 | XIAOMING | | 7 | Ben | | 8 | JACK | | 9 | JASON | +--------+----------+ 8 rows in set 虽然不适用AS也能完成 但是 会出现两个字段拼合 所以 一定要使用AS语句 不要省略
    查看全部
  • 查找记录 1、语法: SELECT select_expr [,select expr2...] 只查找某一个函数或表达式 [ FROM table_references 查询表名 [WHERE where_conditon] 查询条件 [GROUP BY {col_name|position} [ASC|DESC],...] 按某个字段进行分组,相同的只显示第一个 [HAVING where_conditon] 分组时,给出显示条件 [ORDER BY {col_name|expr|position} [ASC|DESC],...] 排序 [LIMIT {[offset,]row_count|row_count OFFSET offset}] 限制返回数量 } 2、查询表达式的顺序会影响结果顺序 每个表达式表示想要的一列,必须有至少一个 多个列直接以英文逗号分隔 星号*表示所有列 3、使用tbl_name.col_name来表示列记录,这多表查询时可以区别开同名的列 4、使用[AS] alias_name为其赋予别名,别名可以用于GROUP BY、ORDER BY或HAVING子句,例如SELECT id AS userId,username AS uname FROM users; 这样查询出来的结果会用别名表示
    查看全部
  • 删除记录(单表删除) DELETE FROM tbl_name [WHERE where_condition] 删除某条记录后,再插入一条新的记录,自动编号不会补到删除记录的编号上,而是基于原有记录最大编号继续增加 mysql> delete from users where id = 6; 删除id = 6 这条数据 Database changed mysql> select * from users; +----+----------+----------+-----+-----+ | id | username | password | age | sex | +----+----------+----------+-----+-----+ | 5 | XIAOMING | 123 | 23 | 0 | | 7 | Ben | 456 | 8 | 0 || +----+----------+----------+-----+-----+ 7 rows in set mysql> insert users values(null,'JASON','222',33,null); 插入新的数据,但是id号是从第9开始的、 Database changed mysql> select * from users; +----+----------+----------+-----+------+ | id | username | password | age | sex | +----+----------+----------+-----+------+| | 4 | Lancer | 3 | 27 | 0 | | 5 | XIAOMING | 123 | 23 | 0 | | 7 | Ben | 456 | 8 | 0 | | 8 | JACK | 456789 | 17 | 0 | | 9 | JASON | 222 | 33 | NULL | +----+----------+----------+-----+------+ 8 rows in set ID 会继续往后增加+
    查看全部
  • 更新记录(单表更新)where语句增添 id号为偶数的人 数据年龄+10 where子句 mysql> update users set age = age + 10 WHERE id % 2 = 0; Database changed Rows matched: 4 Changed: 4 Warnings: 0 mysql> select * from users; +----+----------+----------------------------------+-----+-----+ | id | username | password | age | sex | +----+----------+----------------------------------+-----+-----+ | 1 | Tom | 123 | 29 | 0 | | 2 | Jhon | 456 | 38 | 0 | | 3 | XINNAN | 123 | 19 | 0 | | 4 | Lancer | 3 | 27 | 0 | | 5 | XIAOMING | 123 | 23 | 0 | | 6 | Rose | 202cb962ac59075b964b07152d234b70 | 19 | 0 | | 7 | Ben | 456 | 8 | 0 | | 8 | JACK | 456789 | 17 | 0 | +----+----------+----------------------------------+-----+-----+ 8 rows in set
    查看全部
  • 更新记录(单表更新) UPDATE [LOW_PRIORITY][IGNORE] table_reference SET col_name1={expr1|DEFAULT}[,col_name2={expr2|DEFAULT}]...[WHERE where_condition] 可以一次更新多条记录,只需要用 逗号, 来分离即可 ;当省略WHERE条件时,所有记录的值将会更新 mysql> update users set age = age + 5; Database changed Rows matched: 8 Changed: 8 Warnings: 0 单表中所有年龄+5 mysql> update users set age = age - id,sex = 0; Database changed Rows matched: 8 Changed: 8 Warnings: 0 每个数据的年龄都减去其id 然后所有的年龄都归 0 +----+----------+----------------------------------+-----+-----+ | id | username | password | age | sex | +----+----------+----------------------------------+-----+-----+ | 1 | Tom | 123 | 29 | 0 | | 2 | Jhon | 456 | 28 | 0 | | 3 | XINNAN | 123 | 19 | 0 | | 8 | JACK | 456789 | 7 | 0 | +----+----------+----------------------------------+-----+-----+省略一些数据 8 rows in set
    查看全部
  • 插入记录的第三种方式: INSERT [INTO] tb1_name [(col_name,...)] SELECT ... 此方法可以将查询结果插入到指定数据表
    查看全部
  • 插入记录的第二种方式: 与第一种方式的区别在于,此方法可以使用子查询(SubQuery) 另外一个区别在于,此方式一次性只能插入一条记录 mysql> insert users set username='JACK',password='456789'; Database changed mysql> select * from users; +----+----------+----------------------------------+-----+------+ | id | username | password | age | sex | +----+----------+----------------------------------+-----+------+ | 1 | Tom | 123 | 25 | 1 | | 2 | Jhon | 456 | 25 | 1 | | 3 | XINNAN | 123 | 17 | 1 | | 4 | Lancer | 3 | 16 | 1 | | 5 | XIAOMING | 123 | 23 | 1 | | 6 | Rose | 202cb962ac59075b964b07152d234b70 | 10 | 0 | | 7 | Ben | 456 | 10 | NULL | | 8 | JACK | 456789 | 10 | NULL | +----+----------+----------------------------------+-----+------+ age 默认default sex可以为空
    查看全部
  • SHOW DATABASES;
    查看全部
    0 采集 收起 来源:操作数据库

    2016-12-06

  • 加密函数 md5();//常用与web网页加密 paassword()//更改客户端的密码 set password=password('asda');
    查看全部
    0 采集 收起 来源:MySQL 加密函数

    2016-12-06

  • 信息函数 connection_id();//连接的id datebase();//当前的数据库 last_insert_id();//最后插入的id号 user();//当前的用户 version();//版本信息 区分大小写
    查看全部
    0 采集 收起 来源:MySQL 信息函数

    2016-12-06

举报

0/150
提交
取消
课程须知
要想学习本课程,你只需要知道数据库是个什么东东就足够了,是不是很easy?!
老师告诉你能学到什么?
1、MySQL安装与配置 2、数据类型 3、流程控制与运算符 4、DDL、DCL、DQL、DML 5、常用函数 6、表类型(存储引擎) 7、图形化工具
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!