数据库
数据库的基本概念:
1. 数据库(DataBase),简称DB
2. 用于存储和管理数据的仓库
3. 持久化的存储数据,其实就是一个文件系统
4. 使用了统一的方式操作数据库
常见的数据库软件:
1. Oracle
2. Mysql
3. Sql serve
启动和关闭mysql:
1. net stop mysql命令 关闭mysql
2. net start mysql命令 启动mysql
MySql登录
1. 本地mysql登录:mysql -u账号 –p密码
2. 连接他人mysql:mysql –h(ip) –u账号 –p密码
3. 连接他人mysql:mysql --host(地址) –user账号 –password密码
MySql退出
1. exit命令
2. quit命令
mysql目录结构:
、1. 安装目录
Bin:二进制的可执行文件
Data:数据目录
Include:C语言的一些头信息
Lib:运行所需要的库文件
Share:mysql的错误文件
My.ini:mysql的配置信息
-
数据目录
目录为C:\ProgramData\MySQL\MySQL Server 5.5\data
概念: 每个数据库对应一个文件夹,一个数据库可以存在多张表,每个表就是一个文件,每个表可以有多条记录。
SQL
1.什么是SQL?
Structured Query Language :结构化查询语言
其实就是定义了操作所有关系型数据库的规则,强制
要求所有关系型数据库都要遵守这个规则,国际性组织制定的规则。
-
SQL通用语法
-
SQl语句可以单行或多行书写,以分号结尾。
-
可以使用空格缩进来增强语句的可读性
-
Mysql数据库的sql语句是不用大小写的
3.3种注释: -
单行注释:-- 注释内容 或者 #注释内容(MySQL特有)
-
多行注释:/注释内容/
-
SQL分类:主要分为3类:数据操纵语言(DML),数据定义语言(DDL),数据控制语言(DCL)。
数据操纵语言(DML):主要用来处理数据库中的数据内容。允许用户对数据库中的数据进行查询 ,插入,更新和删除等操作
数据定义语言(DDL):是一组SQL命令,用于创建和定义数据库对象,并且将对这些对象的定义保存到数据字典中。通过DDL语句可以创建数据库对象,修改数据库对象和删除数据库对象等。
数据控制语言(DCL):数据控制语言用于修改数据库结构的操作权限
操作数据库(CRUD):CRUD是指在做计算处理时的增加(Create)、读取查询(Retrieve)、更新(Update)和删除(Delete)几个单词的首字母简写。主要被用在描述软件系统中DataBase或者持久层的基本操作功能。1.C(Create):创建
Create database 数据库名称;
创建一个数据库
Create database if not 数据库名称;
根据条件创建数据库,如果数据库存在,就不会创建数据库。
Create database 数据库名称 character set字符集名;
创建数据库,并指定字符集
2.R(Read):读取或查询
Show databases;
查询所有数据库
show create database 数据库名称;
查询某个数据库的字符集
3.U(Update):更新修改
Alter database 数据库character 字符集;
4.(Delete):删除
Drop database 数据库名称;
Drop database if exists 数据库名;判断数据库是否存在,存在就删除数据库
-
-
使用数据库:
查询正在使用的数据库:Select batabase();
打开数据库:
Use 数据库名;
操作表
4. 创建表
Create table xs(
Id int,
Name varchar(32),
Age int,
Birthday date
);
解释:在数据库xs中创建字段为id,name,age,birthday的数据表
最后一列不要加逗号
5. 修改
修改表名
Alter table 表名 renme to 新的表名;
修改表的字符集
Alter table 表名 character 字符集名称;
添加列
Alter table 表名 add 列明 数据类型;
修改列,列类型
Alter table 表名 change 列名 新列名 新数据类型;
Alter table 表名 modify 列名 新数据类型;
删除列
Alter table 表名 drop;
-
查询
查询某个数据库中所有的表名Show tables;
查询某个表的结构
Desc 表名;
-
删除
Drop table 表名;
根据条件删除表,如果存在就删除Drop table if exits 表名;
-
复制表
Create table 表名 like 被复制的表名;
数据类型
9. 整数类型:int
Age int
-
小数类型:double
Score double(5.2)
-
日期类型:date 只包含年月日,
yyy-mm-dd
,使用需要单引号括起来 -
日期类型:datatime 包含年月日时分秒,
yyyy-mm-dd HH:HH:SS
注:如果不给这个字段赋值或者值为空,则 会把当前系统的时间来自动赋值,使用需要单引号括起来
-
字符串类型:varchar
Name varchar(20)
:表示字段为name的最大字符为20个字符