MySQL笔记(一)


内容

  1. 数据库的基本概念

  2. MySQL数据库软件
    1.安装
    2.卸载
    3.配置

  3. SQL

数据库的基本概念

1.数据库的英文单词:DataBase 简称:DB
2.什么是数据库?
* 用于存储和管理数据的仓库。
3.数据库的特点
* 1.持久化存储数据的。其实数据库是一个文件系统;
* 2.方便存储和管理数据
* 3.使用了统一的方式操作数据库。--SQL

4.常用的数据库软件
18年数据库排行

MySQL数据库软件

  1. 安装
  2. 卸载
    1.去mysql的安装目录找到my.ini文件
    *复制datadir = "C:/ProgramData/MySQL/MySQL Server 5.5/Data/"
    2.卸载MySQL
    3.删除C:/ProgramData目录下的MySQL文件夹
  3. 配置
    MySQL服务启动
    1.手动
    2.cmd--> service.msc 打开服务窗口(看服务是否开启)
    3.使用管理员打开cmd
    *net start mysql:启动mysql服务
    *net stop mysql:关闭mysql服务
    MySQL登录
    1.mysql -u root -p 密码
    2.mysql -h ip地址 -u root -p 连接目标的密码
    3.mysql --host=ip地址 --user=root --password=连接目标的密码
    MySQL退出
    1.exit
    2.quit
    MySQL目录结构
    1.MySQL安装目录
    *配置文件 my.imi
    2.MySQL数据目录C:/ProgramData/MySQL/MySQL Server 5.5/Data/
    *几个概念
    (1)数据库:文件夹
    (2)表:文件
    (3)数据:数据

SQL

1. 什么是SQL?
Structured Query Language:结构化查询语言
其实就是定义了操作所有关系型数据库的规则。每一种数据库操作的方式存在不一样的地方,称为“方言”。
2. SQL通用语法
1.SQL语句可以单行或多行书写,以分号结尾。
2.使用空格和缩进来提高语句的可读性。
3.SQL语句不区分大小写,关键语句建议用大写来写。
4.三种注释
单行注释:--注释内容或#注释内容(mysql特有)
多行注释:/注释
/
3. SQL分类
(1)DDL(Data Definition Language):数据定义语言
用来定义数据库对象:数据库,表,列等。关键字:create,drop,alter等。
(2)DML(Data Manipulation Language):数据操作语言
用来对数据库中表的数据进行增删改。关键字:insert,delete,update等。(3)DQL(Data Query Language):数据查询语言
用来查询数据中表的记录(数据)。关键字:select,where等。
(4)DCL(Data Control Language):数据控制语言
用来定义数据库的访问权限和安全级别,及创建用户,关键字:grant,revoke等

DDL:操作数据库、表

1. 操作数据库:CRUD
1.C(create):创建

  • 创建数据库:
    create database 数据库名称;
  • 创建数据库,判断不存在,再创建:
    create database if not exists 数据库名称;
  • 创建数据库,并制定字符:
    create database 数据库名称 character set 字符集名;
  • 创建db4数据库,判断是否存在,并制定字符集为gbk:
    create database if not exists db4 character set gdk;

2.R(Retrieve):查询

  • 查询所有数据库的名称:
    show databases;
  • 查询某个数据库的字符集:查询某个数据库的创建语句
    show create database 数据库名称;

3.U(Update):修改

  • 修改数据库的字符集
    alter database 数据库名称 character set 字符集名称;

4.D(Delete):删除

  • 删除数据库
    drop database 数据库名
  • 判断数据库存在,存在再删除
    drop database if exists 数据库名称;

5.使用数据库

  • 查询当前正在使用的数据库的名称
    select database();
  • 使用数据库
    use 数据库名称;

2. 操作表
1.C(create):创建
*创建表:
create table 表名称( 列名1 数据类型1, 列名2 数据类型2 , ... 列名n 数据类型n );

  • 注意:最后一列不需要加逗号(,)
  • 数据库类型:
    (1)int:整数类型
    age int,
    (2)double:小数类型
    score double(5,2)//5位小鼠=数,小数点后最多保留2位小数
    (3)date:日期,只包含年月日,yyyy-MM-dd
    (4)datetime:日期,包含年月日,时分秒,yyyy-MM-dd HH:mm:ss
    (5)timestamp:时间错类型,包含年月日,时分秒,yyyy-MM-dd HH:mm:ss,若将来不给这个字段赋值,则默认使用当前系统时间,来自动赋值
    (6)varchar:字符串
    name varchar(20):名字最大20个字符
    • 创建表
       create table student(
             id int,
             name varchar(32),
             age int,
             score double(4,1),
             birthday date,
             insert_time timestamp
             );
      
  • 复制表
    create table 表名 like 被复制表名

2.R(Retrieve):查询

  • 查询某个数据库中所有表的名称:
    show tables;
  • 查询表结构
    desc 表名;

3.U(Update):修改

  • 修改表名
    alter table 表名 rename to 新的表名;
  • 修改表的字符集
    alter table 表名 character set 字符集名称;
  • 添加一列
    alter table 表名 add 列名 数据类型;
  • 修改列名称、类型
    alter table 表名 change 列名 新列名 新数据类型;
    alter table 表名 modify 列名 新数据类型;
  • 删除列
    alter table 表名 drop 列名;

4.D(Delete):删除

  • 删除表
    drop table 表名
  • 判断数据库存在,存在再删除
    drop table if exists 表名;

3. 图形化工具ser

DML:增删改表中数据

  1. 添加数据:
  • 语法:
    insert into 表名(列名1,列名2,...列名n)value(值1,值2,...值n);
  • 注意:
    1.列名和值要一一对应;
    2.如果表名后不添加列名,则默认给所有列添加值
    3.除了数字类型,其他类型需要引号引起来(单双号)
  1. 删除数据
  • 语法:
    delect from 表名 [where 条件]
  • 注意:
    1.如果不加条件,则删除表中所有记录;
    2.如果要删除所有数据
    *delect from 表名不推荐使用。有多少条记录会执行多少次删除操作;
    *truncate table 表名推荐使用,效率更高,先删除表,再创建一张一模一样的表。
  1. 修改数据
  • 语法:
    update 表名 set 列名1 =值1,列名2 =值2,...[where 条件];
  • 注意:
    1.如果不添加任何条件,则会将表中所有记录全部修改

DQL:查询表中记录

select * from 表名;

  1. 语法:
select 字段列表
from 表名列表
where 条件列表
group by 分组字段
having 分组之后的条件
order by 排序
limit 分页限定
  1. 基础查询
    1.多个字段的查询:
    select 字段名1,字段名2,... from 表名;
    注意:
    如果查询所有字段,可以
    来替代字符列表
    2.去除重复:
    distinct
    3.计算列:
    • 一般可以用四则运算计算一些列的值。(一般只会进行数值型的计算)
    • ifnull(表达式1,表达式2):null参与的计算,结果大多为null
      *表达式1:那个字段需要判断是否为null
      *表达式2:如果该字段为null后的替换值

4.起别名:
as:as也可省略

  1. 条件查询
    1.where子句后面跟条件
    2.运算符
    * >、<、<=、>=、=、<>
    select * from student where age > 20;
    *between...and
    select * from student where age between 19 and 24;
    *in(集合)
    select * from student where age in (19,20,21);
    *like:模糊查询(_:单个任意字符,%:多个任意字符)
    select * from student where name like "马%";
    *is null
    select * from student where score is null;
    *and 或 &&
    select * from student where age > 20 && age <16;
    *or 或 ||
    select * from student where age > 20 || age <16;
    *not 或 !
    select * from student where age !> 20 ;
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容