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

与MySQL的零距离接触

平然 学生
难度入门
时长 8小时29分
  • 主键可以写为PRIMARY KEY,也可以写成KEY 每张数据表只能存在一个主键 主键保证记录的唯一性 主键自动为NOT NULL,也就是说必须要为主键赋值。但如果主键选择了AUTO_INCREMENT,那么不需要手动赋值。 auto_increment必须和主键primary key一起使用,但是主键primary key不一定要和auto_increment一块使用 (主键的字段是可以赋值的,但不能赋相同的值)
    查看全部
  • 数据类型: 整型 (TINYINT SMALLINT MEDIUMINT INT BIGINT) 浮点型 (FLOAT[(M,D)] DOUBLE[(M,D)])M:总位数,D:小数点后位数 日期 (YEAR TIME DATE DAYTIME TIMESTEMP) 字符型 (CHAR VARCHAR TEXT ENUM('value1','value2',...)) 数据库的打开 打开mysql:net start mysql 连接数据库 mysql -uUsername -pPassword -hHOST 显示数据库 SHOW DATABASES; 创建数据库 CREATE DATABASE db_name; 进入数据库 USE db_name; 数据表的操作 创建数据表 CREATE TABLE [IF NOT EXISTS] table_name(column_name data_type,....); 删除数据表 DROP TABLE tbl_name; 显示所有表 SHOW TABLES; 显示表结构 SHOW COLUMNS FROM tbl_name; 插入记录 INSERT tb1_name [(col_name,...)] VALUES(val,...); 查询记录 SELECT expr,... FROM tb1_name(expr 字段 *表示全部) 记录操作 空值 NULL 禁止为空 NOT NULL 消除符号位 UNSIGNED 自动编号 AUTO_INCREMENT(有AUTO_INCREMENT一定要加主键) 主键约束 PRIMARY KEY(主键不一定有AUTO_INCREMENT) 唯一约束 UNIQUE KEY 默认约束 DEFAULT (当没有赋值时则自动添加默认值)
    查看全部
    0 采集 收起 来源:总结

    2016-09-25

  • 1、删除记录DELETE:分为单表删除和多表删除 2、单表删除:DELETE FROM tbl_name [WHERE where_conditon]; 3、若不添加WHERE则删除【全部记录】 删除后再插入,插入的id号从最大的往上加,而不是填补删除的。
    查看全部
  • INSERT [INTO] tbl_name SET col_name={exprDEFAULT},...//可以使用子查询 INSERT [INTO] tbl_name [(col_name,...)] SELECT ...//将查询结果写入数据表 Eg: INSERT INTO table_name [(column_name)] SELECT column_name2 FROM table_name2 GROUP BY column_name3; CREATE TABLE IF NOT EXISTS tdb_goods_cates( cate_id SMALLINT UNSIGNED PRIMARY KEY AUTO_INCREMENT, cate_name VARCHAR(40) NOT NULL ); SELECT goods_cate FROM tdb_goods GROUP BY goods_cate; //列出所有品牌cate DESC tdb_goods_cates; //显示出tdb_goods_cates表中的项目名称,与SHOW COLUMNS FROM tdb_goods_cates;作用相同 INSERT tdb_goods_cates(cate_name) SELECT goods_cate FROM tdb_goods GROUP BY goods_cate;//在表tdb_goods_cates中插入tdb_goods中的cate
    查看全部
  • 第二种子查询---in not in in 相当于=any not in 相当于 !=all 或者<>all ——不等于、不包含 子查询----exists not exists ——用得比较少 子查询返回任何行 exists 返回 true 反之 返回 false -- = ANY 或 = SOME 等价于 IN EG:SELECT goods_id,goods_name,goods_price FROM tdb_goods WHERE goods_price !=ALL (SELECT goods_price FROM tdb_goods WHERE goods_cate='超级本' )//得到19个记录(22-3) SELECT goods_id,goods_name,goods_price FROM tdb_goods WHERE goods_price IN (SELECT goods_price FROM tdb_goods WHERE goods_cate = '超级本') //得到3个记录 第三种子查询.使用 [NOT] EXISTS 的子查询(较少用)
    查看全部
  • 使用比较运算符的子查询: (1)SELECT AVG( price ) FROM goods; (2)SELECT ROUND( AVG(price),2 ); // 它是个聚合函数——AVG求平均值进行四舍五入,保留 2 位小数 (3)SELECT id,name,price FROM goods WHERE price >= (SELECT ROUND(AVG(price),2) FROM goods); // 子查询方式 (4)在子查询时的关键字ANY / SOME / ALL select goods_name,goods_price from tdb_goods where goods_price >= ANY (select goods_price from tdb_goods where goods_cate='超级本'); 注意: 1. 子查询只能返回一行记录,不然会报错。 2. 子查询还可以包含子查询。 关键字 ANY SOME ALL >、>= 最小值 最小值 最大值 <、<= 最大值 最大值 最小值 = 任意值 任意值 <>、!= 任意值
    查看全部
  • 子查询是指出现在【其他SQL语句内】的SELECT子句 eg: SELECT * FROM t1 WHERE column1 = (SELECT column1 FROM t2); 其中,SELECT * FROM t1 ...称为Outer Query[外查询](或者Outer Statement) SELECT column1 FROM t2 称为Sub Query[子查询] 子查询指嵌套在【查询内部】,且必须始终出现在【圆括号内】。 子查询可以包含多个关键字或者条件,如DISTINCT,GROUP BY,ORDER BY,LIMIT,函数等 子查询的外层查询可以是:【SELECT,INSERT,UPDATE,SET或DO】 子查询可以返回值:标量、一行、一列或者子查询
    查看全部
  • SET NAMES gbk 设置客服端以GBK编码的方式显示数据 并不影响数据库里面的数据储存.
    查看全部
    0 采集 收起 来源:数据准备

    2016-09-25

  • 记录操作:增,改,删,查 INSERT://增加记录,有三种方法。 INSERT [INTO] tbl_name [(col_name,...)] {VALUES VALUE} ({exprDEFAULT},...),(...),... INSERT [INTO] tbl_name SET col_name={exprDEFAULT},... INSERT [INTO] tbl_name [(col_name,...)] SELECT... UPDATE://更新数据 单表更新 UPDATE [LOW_PRIORITY][IGNORE] table_reference SET col_name1={expr1DEFAULT},[col_name2={expr2DEFAULT}]...[WHERE where_condition] 多表更新 DELETE : //删除数据 单表删除 DELETE FROM tbl_name [WHERE where_condition} 多表删除 SELECT: //查询 SELECT select_expr [,select expr2...] 只查找某一个函数或表达式 [ FROM table_references 查询表名 [WHERE where_conditon] 查询条件 [GROUP BY {col_nameposition} [ASCDESC],...] 按某个字段进行分组,相同的只显示第一个 [HAVING where_conditon] 分组时,给出显示条件 [ORDER BY {col_nameexprposition} [ASCDESC],...] 排序 [LIMIT {[offset,]row_countrow_count OFFSET offset}] 限制返回数量
    查看全部
    0 采集 收起 来源:小结

    2016-09-25

  • 限制查询结果返回数量 [LIMIT{[offset,]row_countrow_count OFFSET offset}] eg: SELECT * FROM users LIMIT 2; // 从第一条开始(第一个为0),返回两条 SELECT * FROM users LIMIT 2,3 ;//从第三条开始(第一个为0),返回三条 第三种insert,数据从一个表插入到另一个表: INSERT table_name(column_name) SELECT ... eg: INSERT test SELECT username FROM users WHERE age >=30; // 字段不匹配提示 INSERT test(username) SELECT username FROM users WHERE age >=30;
    查看全部
  • 1、对查询结果进行排序,默认是升序,DESC为降序:[ORDER BY {col_name expr position} [ASCDESC],...] 2、可以同时按多条字段进行排序,规则是先按前面的字段排,在基础上再按后面字段排。 3、如:SELECT * FROM users ORDER BY age,id DESC; 先按照age排序,如果age有重复的,重复的字段里按id排序
    查看全部
  • 分组条件 [HAVING where_condition] 用在group by后面追加条件,判断式中的字段是必须出现在前面select中的, 或者是可以包含没有出现在前面查询中的字段的一个聚合函数(只有一个返回结果) 如count(),max()等 SELECT sex FROM users GROUP BY 1 HAVING age > 35; //有错 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,count统计记录个数,条件id数大于2的留下显示,显然sex=0个数有8>2故留下,而sex=NULL个数为1,不满足条件,故不显示。如果条件改成count(id)>=1,则会显示sex为0和NULL两个分组。)
    查看全部
  • GROUP BY语句对查询结果分组 查询结果分组,(多个分组用“,”隔开); [group by{col_name/posittion}[ASC/DESC]....] SELECT*FROM users GROUP BY sex; SELECT*FROM users GROUP BY 1;(这里的一表示查询的第一个字段,这里查询所有,第一个字段就是id,就就是会按照字段进行分组)
    查看全部
  • WHERE条件: 条件表达式 对记录进行过滤, 如果没有指定WHERE子句,则显示所有记录。 在WHERE表达式中,可以使用MySQL支持的函数或运算符。
    查看全部
  • 查询表达式 1、语法: SELECT select_expr [,select expr2...] 只查找某一个函数或表达式 [ FROM table_references 查询表名 [WHERE where_conditon] 查询条件 [GROUP BY {col_nameposition} [ASCDESC],...] 按某个字段进行分组,相同的只显示第一个 [HAVING where_conditon] 分组时,给出显示条件 [ORDER BY {col_nameexprposition} [ASCDESC],...] 排序 [LIMIT {[offset,]row_countrow_count OFFSET offset}] 限制返回数量 } 2、查询表达式的顺序会影响结果顺序 每一个表达式表示想要的一列,必须至少有一个 多个列之间以英文逗号分隔 星号(*)表示所以列 tbl_name.*可以表示命名表的所有列 查询表达式可以使用[As]alias_name为其赋予别名 别名可用于GROUP BY,ORDRE BY或HAVING子句
    查看全部

举报

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

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