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

与MySQL的零距离接触

平然 学生
难度入门
时长 8小时29分
  • where 条件表达式: where 后各种根据条件(>、<、=、>=、<=、!=、<>、IS NOT NULL),根据逻辑(and,or),根据结合方式left join、right join等,根据模式匹配(IN、NOT IN、like、not like、regexp),使用各种MySQL函数和表达式,从表集合中筛选记录。
    查看全部
  • 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}] 限制返回数量 } 举例:SELECT id,username FROM user1; 2、查询表达式的顺序会影响结果顺序 eg. SELECT username,id FROM user1; 查询表达式的顺序可以和原顺序不一样 每个表达式表示想要的一列,必须有至少一个 多个列直接以英文逗号分隔 星号*表示所有列 tbl_name.*可以表示命名表的所有列 eg. SELECT user.username,user.password FROM user1; 在以后的开发中经常遇到该方式,将不同表中的数据筛选出来 3、使用tbl_name.col_name来表示列记录,这多表查询时可以区别开同名的列 4、使用[AS] alias_name为其赋予别名,别名可以用于GROUP BY、ORDER BY或HAVING子句,eg. SELECT id AS userId,username AS uname FROM users; 这样查询出来的结果会用别名表示 5.SELECT 字段出现顺序影响结果集出现顺序,字段别名也影响结果集字段别名。
    查看全部
  • 1、删除记录DELETE:分为单表删除和多表删除 2、单表删除:DELETE FROM tbl_name [WHERE where_conditon]; 3、若不添加WHERE则删除【全部记录】
    查看全部
  • 单表更新: UPDATE [LOW_PRIORITY] [IGNORE] table_reference SET col_name1={exp1|DEFAULT}[,col_name2=...][WHERE where_condition] 【一般来说要用WHERE指定位置,不然所有数据都会被更新】 例: 不指定位置:UPDATE users set age = age + 5,sex = 0; 使表里所有记录的age加5 指定位置: UPDATE users set age = age+ + 10 WHERE id % 2=0; 取id为偶数的位置 update更新数据 update <表名> set <列名>=<表达式>,[,<列名>=<表达式>]... [where <条件>];
    查看全部
  • 第一种: insert tb_name [column_name]values(...)[,(...),(....)];--比较常用,可以一次性插入多条记录,并且可以输入表达式甚至是函数,但是无法进行子查询。 第二种: insert tb_name set column_name={exprdefault};--可以进行子查询,但是只能插入一条记录的多个字段,但一次只能插入一条记录(INSERT [INTO] 表名 SET 列名1=列值1, 列名2=列值2,...;)。 第三种: insert table_name [(colname...)] select语句.....--这种方法就是把查询到的一个表结果插入到另一个指定数据表中。
    查看全部
  • 1.修改列定义 ALTER TABLE tbl_name MODIFY [COLUMN] col_name column_definition [FIRST |AFTER col_name]; ALTER TABLE users2 MODIFY id SMALLINT UNSIGNED NOT NULL FIRST; //将id字段的位置提到第一列 SHOW COLUMNS FROM users2; ALTER TABLE users2 MODIFY id TINYINT UNSIGNED NOT NULL; //修改数据类型,需注意数据丢失的问题 2.修改列名称 ALTER TABLE tbl_name CHANGE [COLUMN] col_name new_col_name column_definition [FIRST|AFTER col_name]; ALTER TABLE users2 CHANGE pid p_id TINYINT UNSIGNED; //修改列名称 3.数据表更名 方法1 ALTER TABLE tbl_name RENAME [TO/AS] new_tbl_name ALTER TABLE users2 RENAME (to/as) users3; SHOW TABLES; 方法2 RENAME TABLE tbl_name TO new_tbl_name [, tbl_name2 TO new_tbl_name2] ... RENAME TABLE users5 TO users2; 尽量少使用数据表的列名及表名的更名。 2.约束 按功能划分:NOT NULL, PRIMARY KEY, UNIQUE KEY, DEFAULT, FOREIGN KEY 按数据列的数目划分:表级约束, 列级约束 3.修改数据表 针对字段的操作:添加/删除字段、修改列定义、修改列名称等。 针对约束的操作:添加/删除各种约束 针对数据表的操作:数据表更名(两种方式)
    查看全部
  • 一约束的 index_name 可通过 SHOW INDEX FROM table_name\G; 查询 删除主键约束: ALTER TABLE table_name DROP PRIMARY KEY; 删除唯一约束: ALTER TABLE table_name DROP INDEX index_name; 删除外键约束: ALTER TABLE table_name DROP FOREIGN KEY (fk_symbol)通过查询系统默认给的名字; 外键约束的名字 fk_symbol 可通过 SHOW CREATE TABLE table_name; 查询 删除外键约束,查找CREATE TABLENAME 找到系统为外键约束添加的名字
    查看全部
  • 分组条件: [HAVING where_condition] 在GROUP BY后接HAVING使用时,HAVING后的表达式必须满足以下条件之一: select sex,age from users(表名) group by 1 having age>35; 1.HAVING后的字段出现在SELECT所查询的字段中; select sex from users group by 1 having count(id)>=2; 2.HAVING后的字段没有出现在SELECT查询的字段中,但是这是一个聚合函数(只有一个返回结果的函数,如:count()、max()、avg()、sum()...)
    查看全部
  • [group by {col_name(列名)| position(位置)} [asc|desc],...] 位置(值:123...) 1指select 中第一个列名。最后是指定名称,指定位置的话你还要去数在那个数值。 GROUP BY语句,可以在select查询时,显示分组的结果(即依照分组的条件字段,字段值相同的就是一组,显示各组值,比如以性别为分组字段,那么就显示男和女,但必须要保证GROUP BY后面的字段要大于等于SELECT后的字段,如SELECT a,b,c GROUP BY a,b,c,d),例子SELECT sex from users group by sex; GROUP BY {字段名|位置} [ASC|DESC] 位置代表以SELECT语句中指定字段中的字段顺序 如SELECT num,id,name FROM test GROUP BY 2,num,name ,2指的就是id ASC 默认 升序 desc 降序
    查看全部
  • 单表删除j记录 delete from 表名 [where where_condition]; delete from 表名 where id=6;删除id为6的记录
    查看全部
  • 更改记录(单表):UPDATE table_reference SET col_name1={expr1(表达式)|DEFAULT} [,col_name2={expr2|DEFAULT}]... [WHERE where_condition] **注意:如果不写where语句限定条件,那么就会更新所有数据 例1:UPDATE 表名 SET age = age + 2;如果没有加字段,将更新所有列的age值; 例2:UPDATE 表名 SET age = age - id;sex = 0;可以同时更新多个字段; 例3:UPDATE 表名 SET age = age + 10 WHERE id % 2 = 0;可以加条件,将ID为偶数的列的年龄字段值加10
    查看全部
  • 插入时可以用子查询 一次只能插入一条 insert users set username='Ban',password='456'; 插入记录 insert 表名 [(列名,....)] select .... 既插入select 查询到的记录
    查看全部
  • ROW_COUNT()函数就相当于PHP的MySQL函数库中的mysql_affected_rows()这个函数,两者的作用都是相同的,都是计算当插入记录和修改记录、以及添加和删除记录时的个数总和的 CREATE PROCEDURE T1(IN P_ID SMALLINT UNSIGNED,OUT DU SMALLINT,OUT TU SMALLINT UNSIGNED) BEGIN DELETE FROM test1 where ID=P_ID; SELECT ROW_COUNT() INTO DU; SELECT COUNT(ID) FROM test1 INTO TU; END //
    查看全部
  • DELIMITER // CREATE PROCEDURE R1(IN P_ID INT UNSIGNED,OUT TESTID INT UNSIGNED) BEGIN DELETE FROM test1 WHERE ID = P_ID; SELECT count(ID) FROM test1 INTO TESTID; END // CALL R1(3,@NUMS);@NUMS代表的就是变量
    查看全部
  • 删除存储过程: DELIMITER //; CREATE PROCEDURE removeuserbyid(IN id INT UNSIGNED) BEGIN DELETE FROM users WHERE id=id; END // CALL removeuserbyid(3) 参数的名字不能和表中的名字一样否则系统会认为是一样,造成记录全部被删除;
    查看全部

举报

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

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