什么是数据库
数据库本质上就是文件系统,是存储和管理数据的仓库。
启动/关闭 mysql
net start/stop mysql
要配环境变量
目录结构
Program files下有mysql文件夹,存的是程序相关的代码、文档
ProgramData下是配置文件。my.ini是配置文件,Data里面是表的信息
默认数据库
infomation..... 保存其他数据库的信息
mysql 保存用户和权限相关的信息
performance.... 监控性能用的
sys 记录了DBA所需要的信息,比如哪些SQL慢。更方便DBA了解数据库运行情况。
SQL
注释
-- /**/ # 三种方式。注意第一种方式要加空格
数据类型
int double varchar date(只显示年月日 yyyy-MM-dd) datetime(yyyy-MM-dd HH:mm:ss) char
varchar是可变长的类型,存储字符串的时候只使用所需的空间。
char是固定长度的,指定多少长度,创建时就使用多少。
分类
DDL 操作库和表的。建库建表等等。
DML 对数据进行CRUD的
DQL 查询表中数据
DCL 创建用户、管理权限
DDL
# 默认Latin1编码,容易乱码
CREATE DATABASE db1;
# 指定utf8编码
CREATE DATABASE db1_1 CHARACTER SET utf8;
# 切换数据库
USE db1_1;
# 查询当前正在使用的数据库
SELECT DATABASE();
# 查询MYSQL中有哪些数据库
SHOW DATABASES;
# 修改字符集
ALTER DATABASE db1 CHARACTER SET utf8;
# 查询当前数据库的基本信息
SHOW CREATE DATABASE db1;
# 删除数据库
DROP DATABASE db1_1;
# 创建商品分类表
USE db1;
CREATE TABLE category(
cid INT,
cname VARCHAR(20)
);
# 创建测试表
CREATE TABLE test1(
tid INT,
tdate DATE
);
# 创建一个表结构相同的表
CREATE TABLE test2 LIKE test1;
# 查看表结构
DESC test2;
# 查看当前数据库中的所有表
SHOW TABLES;
# 查看创建表的SQL语句
SHOW CREATE TABLE category;
# 查看表结构
DESC category;
# 表的删除
DROP TABLE test1;
# 先判断后删除方式
DROP TABLE IF EXISTS test2;
# 修改表名称
RENAME TABLE category TO category1;
# 修改字符集
ALTER TABLE category1 CHARACTER SET gbk;
# 向表里添加字段
ALTER TABLE category1 ADD cdesc VARCHAR(20);
# 修改表中列的类型或长度
ALTER TABLE category1 MODIFY cdesc CHAR(50);
# 修改列的名称 关键字change
ALTER TABLE category1 CHANGE cdesc description VARCHAR(30);
# 删除列
ALTER TABLE category1 DROP description;DML
# 插入全部字段,同时写出所有字段名 INSERT INTO student (sid, sname, age, sex, address) VALUES (1, 'sunwukong', 18, '男', '花果山'); # 插入全部字段 不写字段名 INSERT INTO student VALUES(2, 'sunwufan', 5, '男', '地球'); # 插入部分字段 # 插入date类型也要加引号。插入null的话可以写null,也可以不提那些字段 INSERT INTO student (sid, sname) VALUES (3, '蜘蛛精'); # 修改数据 # 几乎不这么玩 UPDATE student SET sex = '女'; # 一般都带条件,用where UPDATE student SET sex = '男' WHERE sid = 1; UPDATE student SET age = 20, address = '日本' WHERE sid = 2; # 删除数据 DELETE FROM student WHERE sid = 3; # 基本不用, 记录全删 DELETE FROM student; # 删除整张表再创建个一模一样的表,这样删除整张表的数据性能高 TRUNCATE TABLE student;

京公网安备 11010502036488号