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

与MySQL的零距离接触

平然 学生
难度入门
时长 8小时29分
  • 一、数据表 1、数据表(或表)是数据库最重要的组成部分之一,是其他对象的基础 2、表是一个二维表,行称为【记录】,列称为【字段】 二、创建数据表 1、首先打开数据库(数据库要存在): SHOW DATABASES 查看当前所有的数据库 USE 数据库名称 打开指定数据库 SELECT DATABASES();显示当前打开的数据库 2、创建数据表:CREATE TABLE [IF NOT EXISTS] 表名( column_name(列名称) data_type(列类型), .... ) 举例—— mysql -uroot P 3306 -h 127.0.0.1;----登陆MYSQL CREATE DATABASE 数据库名;------------创建数据库 USE 数据库名;------------------------打开数据库 SELECT DATABASE();----------------显示打开的数据库 CREATE TABLE tb1(---------------------创建数据表 username VARCHAR(20),-----------------用户姓名列、字符串类型、显示宽度20 userage TINYINT UNSIGNED,-------------用户的年龄 无符号的tinyint salary FLOAT(8,2) UNSIGNED,-----------工资,单精度浮点,整数部分6位小数点后2位、无符号 );
    查看全部
  • 日期时间函数 NOW() /*当前时间 含日期时间 CURDATE() /* 当前日期 只有日期 CURTIME() /*当前时间 值有时间 DATE_ADD() /*时间增减或减少 SELECT DATE_ADD('2014-3-12',INTERVAL 365 DAY); ==>2015-3-12 /*在原有给定的时间上增加365天 INTERVAL增加可以增加负值 单位 year ,month,week,day SELECT DATEDIFF('2014-1-1','2015-1-1') ==> -365 /*时间差值计算 单位为日 前面时间减去后面时间 SELECT DATE_FORMAT('2014-3-2','%m/%d/%y'); ==> 03/02/2014 /*日期格式转换
    查看全部
  • 外键约束的参照操作
    查看全部
  • 查看数据库users1表的创建过程 show create table users1 cascade命令 父表中删除更新影响子表 foreign key(pid) reference provinces(id) on delete cascade 向provinces表插入值insert provinces(pname) values('A') 显示provinces表中的所有记录select * from provinces 删除provinces表的记录delete from provinces where id = 3
    查看全部
  • 比较运算符和函数:(给出的都是闭合的区间) (1)想在first_name这个字段中查找哪个字段值为NULL,可以用IS [NOT] NULL,这比较运算符,如:SELECT * FROM test WHERE first_name IS NULL; (2)[NOT] IN 的具体用法,SELECT 16 IN(1,2,16,68),返回的是true就是1. (3)[NOT] BETWEEN....AND....具体用法:SELECT 6 BETWEEN 0 AND 29,返回的是true也就是1。也可以是字符串。
    查看全部
  • 字符型 CHAR(M) M个字节 0<=M<=255 定长字符串 实际长度不够M时,后面添加空格补齐; VARCHAR(M) 0<=M<=65535; 变长字符串 长度=实际长度+1; TINYTEXT L+1个字节,L<2的8次方; TEXT L+2个字节,L<2的16次方; MEDIUMTEXT L+3个字节,L<2的24次方; LONGTEXT L+4个字节,L<2的32次方; ENUM('value1','value2',...)1or2字节 取决于枚举值的个数(最多65535个值); SET('value1','value2',...)1、2、3、4、8字节,取决于set成员个数(最多64个成员);
    查看全部
  • 数值运算符与函数 1、CEIL(数值); 说明:就是向上取整,如:SELECT CEIL(3.01);结果是4; 2、FLOOR(数值); 说明:就是向下取整,如:SELECT FLOOR(3.99);结果是3; 3、DIV,例子:SELECT 3 DIV 4; 结果是0;因为3除以4,整数位为0; 4、MOD,相当于C语言的%取余函数运算符,也可以用%号代替;例子:SELECT 4 MOD 3; 结果为1;SELECT 5.3 MOD 3; 结果为2.3; 5、POWER(数值,数值);例子:SELECT POWER(3,3); 结果为27; 6、ROUND(数值,小数的位数) 7、TRUNCATE(数值,截取位数); 说明:和ROUND()相似,只是不四舍五入,截取位数还能是负数,如:SELECT TRUNCATE(125.68,-1); 结果为120;
    查看全部
  • 字符函数<br> 1.CONCAT() ,字符连接<br> SELECT CONCAT('a','-','b'); 结果为:a-b<br> 2.CONCAT_WS(), 使用指定的分隔符进行字符连接<br> SELECT CONCAT_WS('|','A','B','C'); 结果为: A|B|C<br> 3.FORMAT() 数字格式化 SELECT FORMAT(12560.7,2); 结果:12,560.70 SELECT FORMAT(12560.78,1); 结果:12,560.8 4.LOWER() 转换成小写字母 5.UPPER() 转换成大写字母 6.LEFT() 获取左侧字符 SELECT LEFT('mysql',2); 结果:my 7.RIGHT() 获取右侧字符 8.LTRIM() 删除前导空格(=LEFT TRIM()) 9.RTRIM() 删除后续空格 10.TRIM()删除前后两边的空格,还可以删除指定的前导和后续的字符,不能删除中间的字符 SELECT TRIM(LEADING'?','??MYSQL????'); 结果:MYSQL???? SELECT TRIM(TRAILING'?','??MYSQL????'); 结果:??MYSQL SELECT TRIM(BOTH'?','??MYSQL???'); 结果:MYSQL 11.REPLACE() 替换字符 SELECT REPLACE('??MYSQL???','?','-'); 结果:--MYSQL--- 12. SUBSTRING(string,offset,length) 截取字符串 SELECT SUBSTRING('MYSQL',2,3); 结果:SQL 13.[NOT]LIKE 模糊匹配 (%):代表任意个字符,0个或多个 (_):代表任意一个字符,只有一个 SELECT name FROM test WHERE name LIKE'%O%'; 结果:输入name 中带‘O’的name SELECT name FROM test WHERE name LIKE'%1%%' ESCAPE'1'; 找到中间带% 的匹配name [ 收起全文 ]
    查看全部
    0 采集 收起 来源:MySQL 字符函数

    2018-03-22

  • 创建数据表 (pid为外键参照provinces表中的id) create table users ->pid smallint unsigned ->foreign key(pid) references provinces(id) show create table users show columns from users 显示索引show indexes from users\G
    查看全部
  • 存储引擎
    查看全部
  • SELECT p.type_id,p.type_name,s.type_name FROM tdb_goods_types AS p LEFT JOIN tdb_goods_types AS s ON s.parent_id = p.type_id; 这里更换了子类和父类的位置,左边是父类,右边是子类。 显示的条件是,父表p的type_id和子表parent_id相同那两行记录中 对应的字段的记录。(对应字段指父表p.type_id,p.type_name;子表s.type_name)比如家用电器的typ_id是1, 大家电的parent_id是1,是家用电器的子类。因此两者显示在一行。 其实显示的就是你SELECT 那三个字段的记录,p.type_id,p.type_name(父表的);s.type_name(子表的),而挑选条件是 父表p的type_id 等于 子表s的parent_id 这两行,从这两行的记录(两行一共六个记录吧)挑选中 我SELECT的三个字段的记录, 顺序显示成一行。。 接下来继续显示其他行。。。
    查看全部
  • 外连接: 以左外连接为例: A LEFT JOIN B join_condition 数据表B的结果集依赖于数据表A 数据表A的结果集根据左连接条件依赖所有数据表(B表除外) 左外连接条件决定如何检索数据表B(在没有指定WHERE条件的情况下) 如果数据表A的某条记录符合WHERE条件,但是在数据表B不存在符合连接条件的记录,将生成一个所有列为空的额外的B行 内连接: 使用内连接查找的记录在连接数据表中不存在,并且在WHERE子句中尝试一下操作:column_name IS NULL 。如果 column_name 被指定为 NOT NULL,MySQL将在找到符合连接着条件的记录后停止搜索更多的行(查找冲突)
    查看全部
  • /** 多表的连接跟两张表的连接一样 表的连接实质就是外键的逆向约束 */ Eg: SELECT goods_id,goods_name,b.cate_name,c.brand_name,goods_price FROM products AS a INNER JOIN products_cate AS b ON a.goods_cate = b.cate_id INNER JOIN products_brand AS c ON a.brand_name = c.brand_id;
    查看全部
    0 采集 收起 来源:多表连接

    2016-10-18

  • 写操作:insert update delete 读操作:select
    查看全部
    0 采集 收起 来源:数据准备

    2016-10-18

  • 本节总结
    查看全部
    0 采集 收起 来源:小结

    2016-10-18

举报

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

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