目录
数据库的基本概念
1.数据库的英文单词:DataBase 简称:DB
2.什么是数据库? 用于存储和管理数据的仓库
3.数据库的特点:
1.持久化存储数据的。其实数据库就是一个文件系统
2.方便存储和管理数据
3.使用了统一的方式操作数据库 --SQL
4.MySQL服务器启动与关闭
1.手动:cmd-->输入services.msc 打开服务的窗口,找到mysql,双击后点击“启动”按钮
2.右键cmd,使用管理员身份打开,输入以下命令后点击回车
net start mysql
启动mysql的服务,如果想关闭,则输入以下命令后点击回车
net stop mysql
在启动完mysql数据库后,接下来连接mysql数据库,在cmd继续输入以下命令点击回车
mysql -uroot -p
回车后显示password,输入你的密码点击回车
* 出现如下结果表示连接成功了(注意:启动成功后要跳转到mysql所在的bin目录下地址,再进行连接)
*如果想退出,则输入exit,显示Bye,则退出成功
SQL
1.什么是SQL?
structured Query Language: 结构化查询语言,其实就是定义了操作所有的关系型数据库的规则。每一种数据库操作的方式存在不一样的地方,成为“方言”。
2.SQL通用语法
1.SQL语句可以单行或多行书写,以分号结尾。
2.可使用空格和缩进来增强语句的可读性。
3.MySQL数据库的SQL语句不区分大小写(关键字建议使用大写)
4.3种注释
*单行注释:-- 注释内容 或 #注释内容(注意:--后一定要加空格)
*多行注释:/* 注释 */
3.SQL分类
1.数据查询语言(DQL)
数据查询语言(Data Query Language, DQL)是SQL语言中,负责进行数据查询而不会对数据本身进行修改的语句,这是最基本的SQL语句。保留字SELECT是DQL(也是所有SQL)用得最多的动词,其他DQL常用的保留字有FROM,WHERE,GROUP BY,HAVING和ORDER BY。这些DQL保留字常与其他类型的SQL语句一起使用。
2.数据定义语言(DDL)
数据定义语言 (Data Definition Language, DDL) 是SQL语言集中,负责数据结构定义与数据库对象定义的语言,由CREATE、ALTER与DROP三个语法所组成,最早是由 Codasyl (Conference on Data Systems Languages) 数据模型开始,现在被纳入 SQL 指令中作为其中一个子集。
3.数据操纵语言(DML)
数据操纵语言(Data Manipulation Language, DML)是SQL语言中,负责对数据库对象运行数据访问工作的指令集,以INSERT、UPDATE、DELETE三种指令为核心,分别代表插入、更新与删除。
4.数据控制语言(DCL)
数据控制语言 (Data Control Language) 在SQL语言中,是一种可对数据访问权进行控制的指令,它可以控制特定用户账户对数据表、查看表、预存程序、用户自定义函数等数据库对象的控制权。由 GRANT 和 REVOKE 两个指令组成。DCL以控制用户的访问权限为主,GRANT为授权语句,对应的REVOKE是撤销授权语句。
DDL
##操作数据库、表
1.操作数据库:CRUD
1.C(Create):创建
*创建数据库:
*create database 数据库名称;
*创建数据库,判断不存在,再创建:
*create database if not exists 数据库名称;
*创建数据库,判断是否存在,并制定字符集
*create database if not exists 数据库名称 character set 字符集名;
2.R(Retrieve):查询
*查询所有数据库的名称:
*show databases;
*查询某个数据库的字符集:查询某个数据库的创建语句
*show create database 数据库名称;
3.U (Update): 修改
*修改数据库的判断字符集
* alter database 数据库名称 character set 字符集名称;
4.D (Delete): 删除
*删除数据库(判断数据库是否存在再删除)
* drop database if exists 数据库名称;
5.使用数据库
*查询当前正在使用的数据库名称
* select database();
*使用数据库
* use 数据库名称;
2.操作表
1.C(Create):创建
1.语法:
create table 表名(
列名1 数据类型1,
列名2 数据类型2
); *注意:最后一列不需要加“,”号
*数据库类型:
1.int 整数类型 *age int,
2.double 小数类型 *score double(5,2)
3.date 日期类型 ,只包含年月日,yyyy-MM-dd
4.datetime 日期,包含年月日时分秒 yyyy-MM-dd HH:mm:ss
5.timestamp 时间戳类型 yyyy-MM-dd HH:mm:ss
*如果将来不给这个字段赋值,或赋值为null,则默认使用当前的系统时间来自动赋值
6. varchar:字符串 *name varchar(20): 姓名最大20个字符
2.R(Retrieve):查询
*查询某个数据库中所有表的名称
*show tables;
*查询表结构
*desc 表名;
3.U (Update): 修改
1.修改表名、
*alter table 表名 rename to 新表名;
2.修改表的字符集
*alter table 表名character set 字符集名称
3.添加列
* alter table 表名 add 列名 数据类型;
4.修改列名称 类型
*alter table 表名 change 列名 新列名 新类型;或 alter table 表名 modify 列名 新数据类型;
5.删除列
*alter table 表名 drop 列名;
4.D (Delete): 删除
*drop table 表名;
*drop table if exists 表名;