MySQL数据库使用


前言

MySQL数据库


一、MySQL数据库使用

1.MySQL的使用

MySQL安装后,MySQL会以windows服务的方式为我们提供数据存储功能。开启和关闭服务的操作:右键点击我的电脑→管理→服务→可以找到MySQL服务开启或停止。

也可以在DOS窗口,通过命令完成MySQL服务的启动和停止(必须以管理运行cmd命令窗口)
在这里插入图片描述
总结:
方式1: 我的电脑-----> (右键)管理---->服务和应用程序---->服务----找到MySQL服务右键启动或关闭
方式2: 进入dos窗口 使用命令: net start mysql 开启MySQL服务; 命令:net stop mysql 关闭MySql服务

2.MySQL的登录

MySQL是一个需要账户名密码登录的数据库,登陆后使用,它提供了一个默认的root账号,使用安装时设置的密码即可登录。
格式1:cmd> mysql –u用户名 –p密码
例如:mysql -uroot –proot
格式2:cmd> mysql --host=ip地址 --user=用户名 --password=密码
例如:mysql --host=127.0.0.1 --user=root --password=root

二、简单SQL语句

1.什么是SQL语句

  • 结构化查询语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。关系数据库语言的国际标准;
  • 各个数据库厂商都支持ISO的SQL标准;
  • 各个数据库厂商在标准基础上做了自己的扩展。

2.SQL分类

  • 数据定义语言:简称DDL(Data Definition Language),用来定义数据库对象:数据库,表,列等。关键字:create,alter,drop等
  • 数据操作语言:简称DML(Data Manipulation Language),用来对数据库中表的记录进行更新。关键字:insert,delete,update等
  • 数据控制语言:简称DCL(Data Control Language),用来定义数据库的访问权限和安全级别,及创建用户。
  • 数据查询语言:简称DQL(Data Query Language),用来查询数据库中表的记录。关键字:select,from,where等

3.SQL通用语法

  • SQL语句可以单行或多行书写,以分号结尾;
  • 可使用空格和缩进来增强语句的可读性;
  • MySQL数据库的SQL语句不区分大小写,建议使用大写,例如:SELECT * FROM user;
  • 同样可以使用/**/的方式完成注释。

4.数据表中的数据类型

	**整数类型**	:
	    tinyInt	很小的整数
		smallint	小的整数
		mediumint	中等大小的整数
		int(integer)	普通大小的整数
	**小数类型**	:
	    float	单精度浮点数
		double	双精度浮点数
		decimal(m,d)	压缩严格的定点数
	**日期类型**	:
	    year	YYYY  1901~2155
		time	HH:MM:SS  -838:59:59~838:59:59
		date	YYYY-MM-DD 1000-01-01~9999-12-3
		datetime 	YYYY-MM-DD HH:MM:SS 1000-01-01 00:00:00~ 9999-12-31 23:59:59
		timestamp	YYYY-MM-DD HH:MM:SS  1970~01~01 00:00:01 UTC~2038-01-19 03:14:07UTC
	**文本、二进制类型**	:
	    CHAR(M)			M为0~255之间的整数
		VARCHAR(M)		M为0~65535之间的整数
		TINYBLOB	允许长度0~255字节
		BLOB		允许长度0~65535字节
		MEDIUMBLOB	允许长度0~167772150字节
		LONGBLOB	允许长度0~4294967295字节
		TINYTEXT	允许长度0~255字节
		TEXT		允许长度0~65535字节
		MEDIUMTEXT	允许长度0~167772150字节
		LONGTEXT	允许长度0~4294967295字节
		VARBINARY(M)允许长度0~M个字节的变长字节字符串
		BINARY(M)	允许长度0~M个字节的定长字节字符串

MySQL中的我们常使用的数据类型如下
在这里插入图片描述

5.数据库操作

  1. 创建数据库
    格式:
    create database 数据库名;
    create database 数据库名 character set 字符集;
    例如:
    #创建数据库 数据库中数据的编码采用的是安装数据库时指定的默认编码 utf8
    CREATE DATABASE mybase;
    #创建数据库 并指定数据库中数据的编码
    CREATE DATABASE mybase CHARACTER SET utf8;
  2. 查看数据库
    查看数据库MySQL服务器中的所有的数据库:show databases;
    查看某个数据库的定义的信息:show create database 数据库名;
  3. 删除数据库
    drop database 数据库名称;
    例如:drop database mybase;
  4. 使用数据库
    use 数据库名;
  5. 查看正在使用的数据库
    select database();

6.表相关操作

  1. 创建表
    格式:
    create table 表名(
    字段名 类型(长度) 约束,
    字段名 类型(长度) 约束
    );
    例如:
    ###创建分类表
    CREATE TABLE sort (
    sid INT, #分类ID
    sname VARCHAR(100) #分类名称
    );
    单表约束:
    主键约束:primary key,要求被修饰的字段:唯一和非空
    唯一约束:unique,要求被修饰的字段:唯一
    非空约束:not null,要求被修饰的自动:非空
  2. 主键约束
    在创建表时创建主键,在字段后面加上 primary key
    例如:
    create table tablename(
    id int primary key,

    )
    在创建表时创建主键,在表创建的最后来指定主键
    例如:
    create table tablename(
    id int,
    …,
    primary key(id)
    )
    删除主键:alter table 表名 drop primary key
    例如:
    alter table sort drop primary key;
    主键自动增长:一般主键是自增长的字段,不需要指定。
    实现添加自增长语句,主键字段后加auto_increment(只适用MySQL)
    例如:
    ###创建分类表
    CREATE TABLE sort (
    sid INT PRIMARY KEY auto_increment, #分类ID
    sname VARCHAR(100) #分类名称
    );
  3. 查看表
    查看数据库中的所有表:格式:show tables;
    在这里插入图片描述
    查看表结构:
    格式:desc 表名;
    例如:desc sort;
    在这里插入图片描述
  4. 删除表
    格式:drop table 表名
    在这里插入图片描述
  5. 修改表
    添加一列:alter table 表名 add 字段名 类型(长度) [约束]
    修改列的类型(长度、约束):alter table 表名 modify 要修改的字段名 类型(长度) [约束]
    修改列的列名:alter table 表名 change 旧列名 新列名 类型(长度) [约束]
    删除表的列:alter table 表名 drop 列名
    修改表名:rename table 表名 to 新表名
    修改表的字符集:alter table 表名 character set 编码
  6. 插入表记录
    语法:
    insert into 表 (列名1,列名2,列名3…) values (值1,值2,值3…); – 向表中插入某些列
    insert into 表 values (值1,值2,值3…); --向表中插入所有列
    注意:
    插入的数据应与字段的数据类型相同
    数据的大小应该在列的长度范围内
    在values中列出的数据位置必须与被加入列的排列位置相对应。
    除了数值类型外,其它的字段类型的值必须使用引号引起。
    如果要插入空值,可以不写字段,或者插入 null。
    对于自动增长的列在操作时,直接插入null值即可。
    插入数据中文乱码问题解决办法:set names 编码;
  7. 更新表记录
    语法:
    update 表名 set 字段名=值,字段名=值;
    update 表名 set 字段名=值,字段名=值 where 条件;
    注意:
    列名的类型与修改的值要一致.
    修改值得时候不能超过最大长度.
    值如果是字符串或者日期需要加’’.
  8. 删除表记录
    语法:
    delete from 表名 [where 条件];
    或者
    truncate table 表名;
    面试题:
    删除表中所有记录使用delete from 表名; 还是用truncate table 表名;
    删除方式:delete 一条一条删除,不清空auto_increment记录数。
    truncate 直接将表删除,重新建表,auto_increment将置为零,从新开始
  9. 查询操作
    语法:
    select [distinct] | 列名,列名 from 表名 [where条件]
    查询所有
    select * from 表名;
    查询指定字段信息
    select 字段1,字段2,…from 表名;
    别名查询,使用的as关键字,as可以省略的.
    别名可以给表中的字段,表设置别名。 当查询语句复杂时,使用别名可以极大的简便操作。
    表别名格式:
    select * from 表名 as 别名;

    select * from 表名 别名;
    列别名格式:
    select 字段名 as 别名 from 表名;

    select 字段名 别名 from 表名;
    去掉重复值查询
    distinct用于去除重复记录
    select distinct 字段 from 表名;
    我们在sql语句的操作中,可以直接对列进行运算。
    例如:将所有账务的金额+10000元进行显示.
    select pname,price+10000 from product;
    条件查询
    结合where进行条件查询
    在这里插入图片描述
    排序
    升序查询:select … order by 字段1 asc,字段2 asc…
    降序查询:select … order by 字段1 desc,字段2 desc …
    例如:
    商品表中价格按升序排列:select * from product order by price asc;
    聚合查询
    常用的聚合函数:
    sum()求和
    avg()平均
    max()最大值
    min()最小值
    count()计数
    注意:聚合函数不统计null值
    例如:
    获得所有商品价格总和:select sum(price) from product;
    获得所有商品的平均价格:select avg(price) from product;
    获得所有商品的个数:select count(
    ) from product;
  10. 分组操作
    group by 字段;
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值