首页 > 代码库 > 11、MySQL

11、MySQL

数据库 DB
存储、维护和管理数据的集合 (文件系统 )
数据库管理系统
    指一种操作和管理数据库的大型软件,用于建立、使用和维护数据库,对数据库进行统一管理和控制,以保证数据库的安全性和完整性。用户通过数据库管理系统 访问数据库中的数据 
 
数据库软件应该为 数据库管理系统,数据库是通过数据库管理系统创建和操作的
 
Oracle:大型
DB2:可大可小
SQL Server:Windows
MySQL:中小型
 
1. 停止mysql 服务 net stop mysql,要是遇到错误5,就用管理员权限启动cmd
2、启动mysql 服务 net start mysql
3、登录 Mysql  mysql -u root -p abc
4、修改密码  
(1)停止 mysql 服务
(2)mysqld --skip-grant-tables 启动服务器
(3)新打开 cmd 输入mysql -u root -p 不需要密码,use mysql,update user set password=password(‘abc‘) WHERE User=‘root‘
(4)关闭两个 cmd 窗口 在任务管理器结束 mysqld 进程
(5)重启 mysql 服务
 
针对每一个应用创建一个数据库,在数据库创建多个表,以保存程序中实体的数据。
数据库中一行记录与对象之间的关系
列:字段
行:一条记录 ( 实体)
 
 
SQL结构化查询语言
第四代语言,java第三代语言
各数据库厂商都支持 ISO 的SQL 标准,厂商在标准的基础上做了自己的扩展
 
分类
DDL:数据定义语言,用来定义数据库对象:库、表、列等; CREATE 、 ALTER、 DROP
DML:数据操作语言,用来定义数据库记录(数据); INSERT 、 UPDATE、 DELETE
DCL:数据控制语言,用来定义访问权限和安全级别
DQL:数据查询语言,用来查询记录(数据),SELECT
注意: sql 语句以 ;结尾
 
操作数据库
创建
1 Create database mydb1;
2 Create database mydb2 character set gbk;
3 Create database mydb3 character set gbk COLLATE gbk_chinese_ci;

 

 
查询
1 show databases;  // 查看当前数据库服务器中的所有数据库
2 Show create database mydb2;  // 查看前面创建的 mydb2数据库的定义信息
3 Drop database mydb3;  // 删除前面创建的 mydb3数据库

 

 
修改
alter database mydb2 character set utf8;  // 查看服务器中的数据库,并把 mydb2 的字符集修改为 utf8

 

 
删除
drop database mydb3;  

 

 
查看当前使用的数据库
select database();

 

 
切换数据库
use mydb2;

 

 
 
操作数据表
1 create table 表名 (
2   字段 1 字段类型 ,
3   字段 2 字段类型 ,
4   ...
5   字段 n 字段类型
6   );

 

 
常用数据类型
int:整型
double:浮点型,例如 double(5,2) 表示最多5 位,其中必须有 2 位小数,即最大值为 999.99;
char :固定长度字符串类型; char(10) ‘abc ‘,无字符串,性能高
varchar :可变长度字符串类型; varchar(10) ‘abc‘,常用
text :字符串类型 ;大量数据,
blob :字节类型;图片视频音频
date :日期类型,格式为: yyyy-MM-dd ;
time :时间类型,格式为: hh:mm:ss
timestamp :时间戳类型 yyyy-MM-dd hh:mm:ss 会自动赋值,不太实用,到2023年就不能用了
datetime: 日期时间类型 yyyy-MM-dd hh:mm:ss
 
当前数据库中的所有表
SHOW TABLES;

 

查看表的字段信息
DESC employee;

 

 
在上面员工表的基本上增加一个 image 列。
ALTER TABLE employee ADD image blob;
 
修改 job 列,使其长度为 60。
ALTER TABLE employee MODIFY job varchar(60);
 
删除 image 列, 一次只能删一列。
ALTER TABLE employee DROP image;
 
表名改为 user 
RENAME TABLE employee TO user;
 
查看表格的创建细节
SHOW CREATE TABLE user;
 
修改表的字符集为 gbk
ALTER TABLE user CHARACTER SET gbk;
 
列名 name 修改为username
ALTER TABLE user CHANGE name username varchar(100);
 
删除表
DROP TABLE user ;
 
 
DML 操作 (重要 )
DML 是对表中的数据 进行增、删、改的操作。不要与 DDL 混淆了。
INSERT 、 UPDATE 、 DELETE
 
在mysql 中,字符串类型和日期类型都要用单引号括起来。 ‘tom‘ ‘2015-09-04‘
空值:null(不占内存)
 
SELECT * FROM 表名 ;
 
插入INSERT
 INSERT INTO 表名(列名 1 ,列名2 ... ) VALUES(列值 1 ,列值2...);
如果插入空值,请使用 null
插入的日期和字符一样,都使用引号括起来
每一列全部给值,列值就不用写
 
sqlyog82 第三方客户端界面
 
修改UPDATE
UPDATE 表名 SET 列名1= 列值 1,列名 2= 列值2 。。。 WHERE 列名 =值
where相当于if

11、MySQL