JAVA Web 第二节 MYSQL基本语法

今天继续为各位小伙伴们总结黑马程序员授课内容,希望可以帮助同学们提升自己。

阿锃是每学完一节,就为友友们总结出笔记,愿友友们借鉴学习(纯手工打造)。       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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小珵哟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值