数据库基础

317 阅读5分钟

数据库基础

1、数据库的基础操作

一 创建数据库(重点)
1、创建数据库的语法
	基本的语法:create database 数据库名称;
	另一种语法:create database 数据库名称  character set 编码 collate 校对规则;
2、校对规则(了解):决定当前数据库的属性。
 
创建一个名称为my1的数据库。
	create database my1;
创建一个使用utf-8字符集的my2数据库。
	create database my2 character set 'utf-8';

二 查看数据库
1、show database;           --查看所有的数据库
2、use 数据库名称;(*****)    --使用数据库
3、show create database 数据库名称;   --查询数据库的建的信息
4、select database();       --查询当前正在使用的数据库

三 表结构操作
1、语法:
	create table 表名称(
		字段1 类型(长度)约束,
		......
		字段n 类型(长度)约束
	);

	
2、创建一张表结构(员工表练习)
	create table employee(
		id int,
		name varchar(30),
		gender char(5),
		birthday date,
		entry_date date,
		job carchar(50),
		
	);
3、执行SQL语句
	查询当前正在使用的数据库  select database();
	选择你要使用的数据库     use 数据库名;
	执行创建表的SQL语句。
	
4、使用desc employee;查询表的信息

四 查看表和删除表
	1、查询所有的表结构,前提条件,先切换到数据库中。
		show tables;
	2、查询表结构的详细的信息
		desc 表名称;
	3、查看表结构定义的信息
		show create table 表名称;
删除表:
	1、删除表结构
		drop table 表名称;

五 修改表
1、添加一个新的字段
	alter table 表名称 add 字段名称 数据类型;
2、修改字段的数据类型、长度或者约束
	alter table 表名称 modify 字段名称 数据类型;
3、删除某一个字段
	alter table 表名称 drop 字段名称;
4、修改字段的名称
	alter table 表名称 change 旧字段 新字段 数据类型;
5、修改表的名称
	rename table 旧表名 to 新表名;
	
六 <1>插入数据(insert添加)(掌握)
1、添加数据,使用insert关键字来添加数据
	insert into 表(字段1,字段2,字段3)valuse(值1,值2,值3);---向表中的指定的字段中添加值
	insert into 表 values (值1,值2,值3...);                 ---向表中的所有的字段添加值

七 修改数据的语句update
1、修改数据,使用update关键字来完成修改数据
	update 表名称 set 字段1=值1,字段2=值2 where 条件;
      修改字段1和字段2的值
		如果没有where的关键字,说明修改的默认所有的记录
		如果有where的关键字,修改的是符合条件的记录
2、注意
	如果要是没有where的条件子句,默认是修改所有的数据。
	如果有where的条件子句,修改的符合条件的数据。
	
八 删除数据的语句
1、删除语法的语法
	delete from 表 where 条件;
		如果不加where,默认删除所有的数据
		如果添加where条件,删除符合条件的数据
		
2、例如:
	删除表中名称为‘tom’的记录。
		delete from user where username = ‘tom’;
	 delete from user where username = ‘tom2’;
	
  九 查询数据的语句(select)
查询语句的语法
	select * from 表;                    --默认查询所有的字段的数据
	select 字段1,字段2,字段3 from 表;     --查询指定的字段的数据
	DISTINCT                              --去除重复的关键字
	可以对查询的列进行运算
	查询语句中可以使用as的关键字,起别名。
		别名的真正的用法,采用的多表的查询,为了区分每张表,表起个别名。
		as的关键字可以省略不限。中间需要使用空格
		一般都是给表来起别名
			select s.username,s.math from stu s;
			select s.username,u.username from stu s,user u;
	使用where的条件语句,进行查询条件的过滤
	
	

2. DQL语句

一 where子句后可以使用的符号
1、常用的符号
	 > < <= >=  <>(不等于)
	n --代表的范围。
 		 
 		 select *from stu where math in(18,88,90) ---查询的结果可能是多条数据,数学的成绩
 		
 需要在in值的范围内
	like ---模糊查询
 		like关键字的值的写法
  			 select * from stu where username like '张_';----使用占位符,结果:张飞,张三,张x,张翼德(不符合)
 			  select *from stu where username like '张%'; ----使用%占位符,结果是姓张的都会查询出来
 			 like '%张'; ----结果:以张结尾的,飞张 医德张 
  		
  *总结like的关键字
  	 *条件需要使用单引号
     *需要使用占位符
    	_              --代表的一个位置
   		%              --代表的多个位置
   	    and            --与
   		or             --或
   		not            --非
   		between...and

二  order by 对结果进行排序
1、语法
	order by 字段 asc | desc;
		asc      --代表升序(默认值)
		desc     --代表降序
 
2、注意
	*order by 自己放在select的语句末尾。

三 聚集函数
1、求和,平均值,最大值,最小值。
2、聚集函数操作的都是某一列的数据。

	count()---求数量
	例如:select count(*)| count(列名)from 表;   --某一列数据行的总数
	sum()  ---求某一列数据的和
	例如:select sum(列名)from 表;   --某一列数据行的和
	注意:没有sum(*),求的某一列,sum对数值类型起作用。
4、总结
	聚集函数、是函数,不要忘记编写()
	计算都是某一列的数据
	聚集函数
		count()           --求数量
		sum()             --求和
		avg()             --平均值
		*ax()             --最大值
		min()             --最小值
四 分组查询概念
1、分组产生聚集函数与分组效果。
2、select * from stu;        --查询所有数据。默认是一组。
3、可以使用关键字 group by sex 根据字段进行分组。
注意
	使用where的条件,如果有分组,where的条件是分组之前的条件。
	新的关键字,having关键字进行分组的条件过滤。
总结
	where关键字后不能使用聚集函数,而是having可以使用聚集函数!!