关系型数据库——数据库的简介和常用命令,数据库的增删改查和例子详解,mysql之深度剖析~!~~!

mysql 启动失败排错

1.配置文件有误,多或少了某些字符
2.重新初始化
3.删除/var/lib/mysql/ 下的mysql.sock文件,让它重载

什么是数据库?

数据库就是一个存储数据的仓库。
了解MYSQL、ORACLE、SQL SERVER功能和应用场合
mysql主要用于大型门户,例如搜狗、新浪等,它主要的优势就是开放源代码,因为开放源代码这个数据库是免费的,它现在是甲骨文公司的产品。【中小型企业常用,开源且能量身定制需求】
oracle主要用于银行、铁路、飞机场等。该数据库功能强大,软件费用高。也是甲骨文公司的产品。【功能更强大,更安全,维修费贵】
sql server是微软公司的产品,主要应用于大中型企业,如联想、方正等。

修改字符编码集

在配置文件中【/etc/my.cnf】添加

default-character-set=utf8
[client]
default-character-set=utf8

常用命令

create database wg ; 创建
create database if not exists wg;如果不存在则创建数据库:
drop database wg;删除
drop database if exists wg;如果存在则删除
show databases; 查看
show variables like ‘%char’;查找包含char关键字的
use wg; 进入使用
show tables;查看数据库表【总计23张表】

select  User  from  user;

选择 字段 来自 表名
select * from user \G; 纵向显示记录【内容过多出来杂乱】
select User from mysql.user; 绝对路径的查询
create table stu(ID int(5),name varchar(10)); 创建表【not null 非空】
desc stu;查看表的构成
insert into stu values(1,‘tom’);插入字段

字符型 描述 字节 推荐使用

char 长度固定 255字节 定期航线,邮编
【预定义字符串变量】
varchar 最大限制的可变长度 1+实际长度 名字密码
【不同长度的字符串值】
text 无最大限制的可变长度 1+实际长度 新闻故事产品描
**【大型文本数据】
enum 数组一样的 ** 2或2个字节 字符属性,二选一
【性别等】

在这里插入图片描述
在这里插入图片描述

mysql索引类型

primary key 标识表的主键,可标识【标记】表中每一条记录的唯一性
就像每个人名所对应的身份证号一样【PRI表示】
unique 标识唯一性,确保表中的值不能重复
auto_increment 值自动增长,为主键的一部分
default 属性默认值
**not null ** 非空值

数据库的增删改查

alter table stu add 性别 varchar(5);
增加字段【也就是表格的一行】
alter table stu add 学院 varchar(10)after 学号;
在学号后面增加学院 可选位置,在…之后【可选参数】
alter table stu drop 学院 ;
删除字段
alter table stu modify 性别 char(5);
修改字段类型
alter table stu change 姓名 name char(10);
改字变段名【包括了类型】
alter table stu rename stuent; rename table stuent to stu ;
改表名
create table std like stu;
复制表【只复制表结构不复制内容】
create table std select * from stu;
复制表【表结构和内容一起复制】
insert into 表名 values(值1,值2,值3,..); 全部列插入的方式

insert into 表名(字段1,字段2,...) values(值1,值2,..) ;

部分列插入的方式
insert into stu2 select * from stu1;
【结构一样,插入内容】
delete from 表名;
清空表【所有行】
delete from 表名 where 条件;
删除满足指定条件的记录
例如:姓名=‘张三’
update 表名 set 字段名='新的值' where 条件;
修改某个记录
例子:

update stu set 性别='女'  where 姓名=‘李四’;

select * from stu;
查询通用

select  姓名,性别 from  stu where 学号=‘2’;

匹配学号为2的姓名,性别

+where 条件

Like 模糊查询
and 表示和 or 表示或
Between 表示在什么什么之间

select  *  from  stu  oder by 年龄; 

默认是升序asc,降序就在后面加desc

select count(学号) from stu ;
【统计学号】
group by 为按…分组,
select 性别,count(学号) from stu group by 性别 ;
【性别分组】
(关键字是having,用来对分组的结果进行筛选)
【条件二次选择】

in 在…范围 count 统计次数

max()最大值
min() 最小值
sum()求和
avg()平均值
count()统计个数

查询嵌套:

在这里插入图片描述

截取部分指定范围:

limit用来限定结果,n为数字,表示筛选前n个,当limit后有两个参数时,如 limit 2,3 表示跳过前2个限定3个(放在最后)
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qing1912/article/details/108672489