mysql数据库的学习
- 服务器全年不停,全年无休 定期备份 存储的数据不能太大
- 服务器存的数据比硬盘好的多
- database 数据库 长期保存在计算机的设备上,按照一定的规则组织起来,可以被各种用户所共享的数据集合,数据的仓库
- 数据库管理系统 dbms 相当的占空间 操作和管理数据库的大型软件用于创建、管理、维护和使用,以保证数据库的完整性和安全性,用户通过数据库管理系统访问数据库中的数据
- 常见的数据库管理系统
类型 | 描述 |
---|---|
orcle | 本身不贵,服务比较贵 关系型数据库管理系统 |
mysql | 也是orcle公司的 关系型数据库管理系统 社区版和企业版在web应用上面很nb |
db2 | IBM公司的 中小型电子商务的 |
sql sever | 只能在微软的系统上面使用 图形化界面很友好 |
sqllite | 手机端数据库 |
cmd 找mysql 57 启动
net stop mysql57
net start mysql57
默认字符集 没写的话会根据客户端的编码方式来写
[mysql]
设置mysql客户端默认字符集
default-character-set=utf8
[client]
设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8
sql语言描述
- sql 语言 structure query language 结构化查询语言 不是mysql的标准配置是一个标准,都是美国的标准 现在学的都是关系型数据库 还有菲关系型数据库
- iso认证 国际的标准 各个数据库的厂商在标准的基础之上又做了自己的基础上做了扩展
- crud 增删改查 create update delete
DDL 数据定义语言 用来定义对象,库、表、列等
DML 数据操作语言 用来定义数据库的记录 查询不是操作
DCL 数据控制语言 用来定义访问的权限和安全级别
DQL 数据查询语言 用来查询记录
语句以分号结尾
mysql 的注释: # 开头 --空格开头 /**/
DDL 数据库定义语言
对数据库的增删改查 DDL操作数据库
show databases; 查看所有的库
information_schema 数据元数据的方式 数据的类型 访问权限的等 别动这个数据的库
mysql 存用户、权限设置、关键字等
performance_schema 性能优化的数据库
test 没有任何的作用,可以删除的
CREATE DATABASE MYDB1;用于创建数据库
CREATE DATABASE IF NOT EXISTS MYDB1;比刚才的友好
CREATE DATABASE MYDB2 CHARACTER SET GBK COLLATE GBK_CHINESE_CI;设置编码 gbk国标扩展
SHOW DATABASES; 查看数据库
SHOW CREATE DATABASE MYDB2; 查看数据库创建的语句
ALTER DATABASE MYDB2 CHARACTER SET UTF8; 改创建的字符
DROP DATABASE MYDB2; 删除数据库
CREATE DATABASE IF EXISTS MYDB2; 这里应该是存在
SELECT DATABASE(); 查看使用的是哪个数据库
USE MYDB1; 使用数据库mydb1
exit 退出的是这个mysql quit也是
DDL操作表
DATABASE 里面存的是table
TABLE
CREATE TABLE 表名(
字段1 类型 约束);
CREATE TABLE STUDENT( ID INT NOT NULL,
NAME VARCHAR(20) NOT NULL,
AGE INT NOT NULL);
SHOW CREATE TABLE STUDENT; 查看表的创建语句
INSERT INTO STUDENT (ID,NAME,AGE) VALUES (1,'CHENLIUHONG',12); 表的插入语句
SELECT * FROM STUDENT; 查询表的具体的内容
反勾号 ` `grade` 默认已经帮你加上了这个`
DROP TABLE USERS; 删除表
SHOW TABLES;查看数据库表
DESC STUDENT; 查看表的具体的信息
ALTER TABLE STUDENT ADD ADDRESS VARCHAR(50) NOT NULL; 添假一列
ALTER TABLE STUDENT MODIFY NAME VARCHAR(30); 修改信息
ALTER TABLE STUDENT MODIFY NAME VARCHAR(30) NOT NULL;
ALTER TABLE STUDENT DROP ADDRESS; 删除某一列
RENAME TABLE STUDENT TO STUDENTS; 修改表的名字
MODIFY不能改名字,CHANGE 能够改名字
DML操作
对表中的数据进行增删改
插入
INSERT INTO STUDENTS(ID,NAMES,AGE) VALUES(2,'LAOGOU',13);
修改
UPDATE STUDENTS SET ADDRESS='SUSHE' WHERE ID = 1;
删除
DELETE FROM STUDENTS WHERE ID = 1;
TRUNCATE 先把表给删除,再创建新的空表 不能找回
DELETE 能够找回数据
DQL数据查询
只是对表进行复制,给你的是一个虚拟的表
SELECT SELECTION_LIST
FROM TABLE_LIST
WHERE CONDITION /*条件
GROUP BY GROUPING_COLUMNS
HAVING CONDITION
ORDER BY SORTING_COLUMNS
LIMIT OFFSET_START,ROW_COUNT