今天继续为各位小伙伴们总结黑马程序员授课内容,希望可以帮助同学们提升自己。
阿锃是每学完一节,就为友友们总结出笔记,愿友友们借鉴学习(纯手工打造)。 b_d
课堂笔记:
## MySQL 1. 配置 * MySQL登录 1. mysql -uMySQL用户名 -pMySQL密码 2. mysql -uMySQL用户名 -p * 之后会弹出Enter password:加密输入密码。 3. mysql -hIP地址 -p连接目标的密码 4. mysql --host=IP地址 --user=MySQL用户名 --password=连接目标的密码 * MySQL退出 1. exit 2. quit 3. 关闭窗口 * MySQL目录结构 1. MySQL安装目录 * 配置文件 .ini 2. MySQl数据目录 * 数据库:文件夹 * 表:文件 * 数据 # SQL 1. 什么是SQL? Structured Query language:结构化从查询语言(规则)----“方言” 2. SQL通用语法 1. 多行、单行书写,分号结尾。 2. SQL不区分大小写,关键字建议使用大写。 3. 3种注释 * 单行注释:-- 注释内容 或 # 注释内容(mysql特有)(注意空格) * 多行注释:/* 注释内容 */ 3. SQL分类: * DDL:数据定义语言。例如:create、drop、alter * DML:数据操作语言。例如:insert、delete、update * DQL:数据查询语言。例如:select、where * DCL:数据控制语言。例如:grant、revoke ## DDL:操作数据库、表 1. 操作数据库:CRUD 1. C(create):创建 * 创建db1数据库:create database db1; * 创建db1数据库,判断是否存在:create database if not exists db1; * 创建db2数据库,并且指定字符集为gbk:create database db2 character set gbk; * 创建数据库db3,判断是否存在,并且指定字符集gbk:create database if not exists db4 character set gbk; 2. R(Retrieve):查询 * 查询所有数据库的名称 show databases; * 查询某个数据库的字符集(查询数据库的创建语句) show create database 数据库名称 3. U(Update):修改 * 修改数据库的字符集 alter database 数据库名称 character set 字符集名称 4. D(delete):删除 * 删除数据库 drop database 数据库的名称 5. 使用数据库 * 查询正在使用数据库的名称 select database(); * 使用数据库 use 数据库名称 2. 操作表 1. C(create):创建 * 创建表的语法: create table 表名( 列名 数据类型, 列名 数据类型, .... 列名 数据类型 ); * 注意:最后一列,不需要加, * 数据类型 1. int 2. double(5,2)==999.99 3. date:日期,只包含年月日,yyyy-MM-dd 4. dadetime:日期,只包含年月日s时分秒,yyyy-MM-dd HH:mm:ss 5. timestamp:时间错类型,只包含年月日s时分秒,yyyy-MM-dd HH:mm:ss * 如果不给这个字段赋值或赋值为null,则默认使用当前的系统时间,来自动赋值。 6. varchar:字符串 name varchar(20); 例如:zhangsan 8个字符 张三 2个字符 2. R(Retrieve):查询 * 查询某个数据库中所有表的名称 show tables; * 查询表的结构 desc 表名字 * 查询表的字符集 show create table 表名 3. U(Update):修改 * 修改表名 alter table 表名 rename to 新表名 * 修改表的字符集 alter table 表名 character set 字符集名称 * 添加一列 alter table 表名 add 列名 数据类型 * 删除一列 alter table 表名 drop 列名 * 修改表中列名、类型 alter table 表名 change 列名 新列名 数据类型(改名字.类型) alter table 表名 modify 列名 数据类型(改类型) 4. D(delete):删除 drop table 表名; drop table if exists 表名; 5. 复制表: create table 表名 like 旧表名 ## DML:增删改表中的数据 1. 添加数据 * 语法 insert into 表名(列名,...) values (值,....) * 注意: 1. 列名和数值要一一对应 2. 如果表名后不定义列名,则默认给所有列添加值 3. 除了数字类型,其他类型需要使用引号(单双都可以) 2. 删除数据 * 语法: delete from 表名 where 条件 * 注意: 1. 如果不加where条件,则删除表中所有数据。 2. 如果要删除所有记录 1. delete from 表名;---有多少条记录就会执行多少次删除操作(不推荐) 2. truncate table 表名;---先删除表,在创建一张一摸一样的表(推荐) 3. 修改数据 * 语法 updatae 表名 set 列名 = 值,...... where 条件; * 注意: 1. 若果不加任何条件,则将表中的数据全部修改 ## DQL:查询表中的记录 1. 语法: select 字段列表,... from 表名列表,... where 条件列表,... group by 分组字段,... having 分组之后的条件限定 order by 排序 limit 分页限定 2. 基础查询 * 多个字段的查询 select 字段名... from 表名 * 去除重复 select distinct...; * 计算列 * 普通: select a,b,a+b from 表名; * 如果null参与运算,计算结果都为null: select a,b,ifnull(a,0) + ifnull(b,0) from 表名; * 起别名 select a as ???,b as ???,ifnull(a,0) + ifnull(b,0) as ??? from 表名; 3. 条件查询 * 语法: where 子句后跟的条件 * 运算符: 1. > < >= <= = <> 2. between...and...(闭区间) 3. in(集合) 例如:select * from student where age in(12,13,15); 等价于 select * from student where age = 12 or age = 13 or age = 15; 4. like (模糊查询) * 占位符: 1. _:单个任意字符 2. %:多个任意字符 3. 5. is null(is not null) * 注意: null的值不能用 = or != 来判断。 6. and && 7. or || 8. not !
若是友友们想要黑马程序员的资源,可以在我发布的第一个文章中找,里面有链接。若是大家想要MYSQL和SQLYOG的安装包可以在评论区评论,我会及时作出回应!
祝大家新年快乐!一路长红! b_d