MySQL基础知识入门(一)


数据库

DDL(Data definition language):数据定义语言
DML(Data Manipulation Language):数据操纵语言
DQL(Data QueryLanguage):数据查询语言
DCL(Data Control Language):数据控制语言

1.DDL语句(数据库的定义语句)

操作数据库、表、列等(这些对象进行操作),使用的关键字:CREATE、 ALTER、 DROP

1)查询所有库
mysql> show databases;

2)创建新的库
create database 库名;
create database if not exists 库名;

3)删除库
drop database 库名 ;
drop database if exists 库名 ;

4)查询新建的数据库的字符集
show create database 库名; 

5)查询当前整体mysql中所有的带字符集的相关编码格式
	show variables like '%character%'  ; (查询mysql的带字符的全局变量)
6)修改字符集
set  character_set_client = utf8 ;(临时修改)

2.DML语句(是对表中的数据进行增、删、改的操作)

数据库:就是一个文件夹
1)	在创建表之前,选择库
	use 库名;
2)	查询库中有哪些表
	show tables ;

-- 创建表的语法
-- create table 表名(
    		-- 字段名称1 字段类型1 ,
    		-- 字段名称2 字段类型2 ,
    		-- 字段名称3 字段类型3 ,
    		-- ....
    		-- 字段名称n 字段类型n ,
    		) ;
3)注释
   # 注释
  
  -- 普通当前行注释
 
 	/*
   		客户端使用多行注释
   */
    		
4)常见字段类型
	varchar(最大字符数长度)  字符串类型
	char字符类型
	int整数类型  -- int(11) 占用的实际长度(推荐)
	int(指定长度) -- int(4)
	
	date: 日期(仅仅是日期)
	datetime:日期和时间
	timestap:时间戳(当前那个时间点操作的语句的时间) 时间+日期
	
	text:大文本

2.1 修改表的操作

-- 查询表的结构
desc 表名;


-- 修改表的操作
# 1.给表中新添加一个字段 add关键字
alter table 表名 add 字段名称 字段类型 ;
+---------+---------------+------+-----+---------+-------+
| Field   | Type          | Null | Key | Default | Extra |
+---------+---------------+------+-----+---------+-------+
| id      | int           | YES  |     | NULL    |       |
| name    | varchar(10)   | YES  |     | NULL    |       |
| age     | int           | YES  |     | NULL    |       |
| address | varchar(1000) | YES  |     | NULL    |       |
| gender  | varchar(5)    | YES  |     | NULL    |       |
+---------+---------------+------+-----+---------+-------+

# 2.修改表的字段名称
alter table 表名 change 以前的字段名称  新的字段名称 数据类型 ;

+---------+---------------+------+-----+---------+-------+
| Field   | Type          | Null | Key | Default | Extra |
+---------+---------------+------+-----+---------+-------+
| id      | int           | YES  |     | NULL    |       |
| name    | varchar(10)   | YES  |     | NULL    |       |
| age     | int           | YES  |     | NULL    |       |
| address | varchar(1000) | YES  |     | NULL    |       |
| sex     | varchar(5)    | YES  |     | NULL    |       |
+---------+---------------+------+-----+---------+-------+

# 3.修改表的字段类型
alter table 表名 modify 字段名称 新的字段类型 ;
+---------+-------------+------+-----+---------+-------+
| Field   | Type        | Null | Key | Default | Extra |
+---------+-------------+------+-----+---------+-------+
| id      | int         | YES  |     | NULL    |       |
| name    | varchar(10) | YES  |     | NULL    |       |
| age     | int         | YES  |     | NULL    |       |
| address | varchar(30) | YES  |     | NULL    |       |
| sex     | varchar(5)  | YES  |     | NULL    |       |
+---------+-------------+------+-----+---------+-------+


# 4.将表中的某个字段删除
alter table 表名 drop 字段名称 ;
+---------+-------------+------+-----+---------+-------+
| Field   | Type        | Null | Key | Default | Extra |
+---------+-------------+------+-----+---------+-------+
| id      | int         | YES  |     | NULL    |       |
| name    | varchar(10) | YES  |     | NULL    |       |
| age     | int         | YES  |     | NULL    |       |
| address | varchar(30) | YES  |     | NULL    |       |
+---------+-------------+------+-----+---------+-------+

# 5.给表重命名
 alter table  stu  rename to student ;
 
+---------------+
| Tables_in_gzx |
+---------------+
| student       |
+---------------+

 	
# 6.复制一张新的表

create  table 新的表名 like 存在的表名 ;
	
+---------------+
| Tables_in_gzx |
+---------------+
| student       |
| teacher       |
+---------------+

# 7.删除表
drop table 表名 ;
drop table if exists 表名 ;

+---------------+
| Tables_in_gzx |
+---------------+
| teacher       |
+---------------+

2.2 修改表的记录

-- 插入全表数据(也可批量插入)
	insert into 表名 values (值1,值2,......);
-- 插入部分字段(也可插入多个)
	insert into 表名(字段名称1,字段名称2....) values(值1,值2...);
-- 修改表中的记录
	update 表名 set 修改的记录名=修改的值 where 条件
		

2.3 删除表的记录

-- 带条件删除
		delete from 表名 where 条件;
-- 删除全表数据
		delete from 表名;
		truncate table 表名;
# delete from 表名 : 只是删除了当前表中所有记录的数据,但是表的结构还存在,不会					影响数据库数据约束"自增长式约束"的id值
# truncate table 表名 :不仅把数据全部删除了,表结构也删除了,相当于创建了一张一						模一样的空表		

2.4 查询表的记录

-- 查询全表数据
	select * from 表名
-- 带条件查询 关键字 where
		select * from 表名 where 条件;
		select * from 表名 where 属性名 between 条件;
where 条件查询
		后面跟上基本比较运算符(<,<=,>,>=)/赋值运算符
		并列关系 and  
		或的关系 or  
		判断某个值为null   is null
		某个值不为null     is not null
		在两个值得范围内,包含两端 between  值1  and  值2 
		多个或者的关系 in集合语句 : in(值1 , 值2,值3)
-- 模糊查询:关键字:like
	select 指定的字段列表 from 表名 where 字段名称 like '%xx%'
	模糊查的匹配符号'%某个字%',模糊匹配包含的xx字的信息(使用最多:模糊检索)
	单个字符'%_化',模糊匹配第二个字包含"化"的学生信息
-- 聚合函数查询:
		count(字段):通过指定字段:查询总记录数
		avg(字段):针对某个字段求平均分
		max(字段):针对某个字段获取里面的最大值
		min(字段):针对某个字段获取里面的最小值
		sum(字段):针对某个字段求和
-- 排序查询
		order by 字段名称 (排序规则) asc 升序
									dsc 降序
-- 分组查询
		group by
	group by 的后面可以跟的分组字段
	select 分组字段 , 聚合函数 from 表名 group by 分段字段;
	注意事项:group by 后面不能跟聚合函数
			where 条件必须在group by 之前 (必须先满足条件,才能分组)
-- 筛选查询
		having
	注意事项:having 后面可以跟聚合函数
-- 去重查询
		SELECT DISTINCT 字段名称 FROM 表名
-- 分页查询
		limit
	select 字段列表 from 表名 limit 起始行数,每页显示的条数
	起始行数从0开始 -- 计算 = (当前页码-1)*每页显示的条数
		
-- select 嵌套select语句
        需求:查询员工工资最高的员工信息
            1)查询出来最高工资是多少 max(工资)
            2)最高工资对应的员工信息
 select * from emp where 工资 = (select max(工资) from emp) ;
-----------------------------------------------------------
查询代码的书写顺序和执行顺序

查询语句书写顺序:select – from- where- group by- having- order by-limit

查询语句执行顺序:from - where -group by - having - select - order by-limit

3.数据库的约束

约束:约束用户操作数据库的一种行为

默认约束	default
非空约束	not null
唯一约束 	unique
主键约束	primary key(非空且唯一)
自增长约束 	auto_increment
外键约束(表和表之间的关系)	foreign key
		eg:员工表和部门表
级联修改和级联删除 CASCADE
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Cipher_Xing

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

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

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

打赏作者

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

抵扣说明:

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

余额充值