目录
SQL语言的分类
库操作
进入MySQL:
创建数据库:
显示数据库
显示全部
显示部分
显示数据库创建语句
选择数据库
修改数据库
删除数据库
数据表
创建数据表
普通创建表
显示表结构:
显示表:
显示所有表:
显示匹配表:
显示表创建语句:
修改,添加,删除表
修改表名:
修改字段名:
修改字段类型:
添加字段:
删除字段:
删除表:
数据基础操作
插入操作(增)
单条插入:
多条插入:
查询操作(查)
查询表中所有数据:
查询表中指定字段:
简单条件查询:
删除操作(删)
更新操作(改)
SQL语言的分类DML(Date MAnipulation Language):数据操纵语句,用于添加、删除、修改、查询数据库记录,并检查数据完整性。 DDL(Data Definition Language):数据定义语句,用于库和表的创建、修改、删除。 DCL(Data Control Language):数据控制语句,用于定义用户的访问权限和安全级别。
DML用于查询和修改数据记录,包括如下SQL语句:
- INSERT:添加数据到数据库中
- UPDATE:修改数据库中的数据
- DELETE:删除数据库中的数据
- SELETE:选择(查询)数据 #重点中的重点!!!
DDL用于定义数据库的结构,比如创建、修改或删除数据库对象,包括如下SQL语句:
- CREATE TABLE:创建数据库表
- ALTER TABLE:更改表结构、添加、删除、修改列长度
- DROP TABLE:删除表
- CREATE INDEX:在表上建立索引
- DROP INDEX:删除索引
DCL用来控制数据库的访问,包括如下SQL语句:
- GRANT:授予访问权限
- REVOKE:撤销访问权限
- COMMIT:提交事务处理
- ROLLBACK:事务处理回退
- SAVEPOINT:设置保存点
- LOCK:对数据库的特定部分进行锁定
参考自这篇文章
库操作 进入MySQL:进入mysql的bin文件目录下 cmd ,默认username 是root password为空,输入以下指令即可
Wamp 还可以直接进入,
create database 名字;
库选项:数据库的相关属性
字符集:charset字符集,代表着当前数据库下的所有表存储的数据默认指定的字符集(如果当前不指定,那么采用dbms默认的)
校对集:collate校对集
create database 数据库名字 charset 字符集名称;
显示数据库
显示全部
show databases;
基本语法:show databases like '匹配模式';
- _ 匹配当前位置单个字符
- % 匹配指定位置多个字符
- 获取以my开头的全部数据库:'my%';
- 获取m开头,后面第一个字母不确定,最后为database的数据库:'m_database';
- 获取以database结尾的数据库:'%database';
举例:
查看以my开头的数据库,
show databases like'my%' ;
show create databases 数据库名字;
为什么要选择数据库.因为数据是存储到数据表,表存在数据库下.如果要操作数据库,那么必须要进入到对应的数据库才行.
基本语法
use 数据库名字;
修改数据库
修改数据库字符集(库选项):字符集和校对集
基本语法:
alter database 数据库名字 charset =字符集;
一旦修改成功后,opt文件就会对应体现
删除数据库基本语法:
drop database 数据库名字;
删除虽简单,但是切记要做好安全操作! 别随便删就对了
删除数据库后:对应的存储数据的文件夹也会被删除(opt文件也被删除)
数据表基本语法: create table 表名(字段名 字段类型 [字段属性],字段名 字段类型 [字段属性],... ) [表选项];
create table 表名(
字段1名 字段1类型 列的约束条件,
字段2名 字段2类型 列的约束条件,
...
)
创建表时要先选择库,有两种方式
1, 库名直接挂在表名前面,用英文小数点"."号连接即可,即 数据库.数据表
2, 使用 use语句, use 数据库名
显示表结构:describe/desc 表名;
show columns from 表名;
show tables;
显示匹配表:show tables like '匹配模式'; (与上文匹配库的模式一样)
显示表创建语句:show create table 表名;
修改,添加,删除表 修改表名:rename table 旧表名 to 新表名;
alter table 表名 change 旧字段名 新字段名 字段类型 [列属性] [新位置];
alter table 表名 modify 字段名 新类型 [新属性] [新位置];
alter table 表名 add [column] 新字段名 列类型 [列属性] [位置 first/after 字段名];
alter table 表名 drop 字段名;
drop table 表名
本质含义:将数据以sql的形式存储到指定数据表(字段)里面
单条插入:字段对应value值, 也可以没有字段 默认所有字段都插入
insert into 表名 (字段列表) values (对应字段列表);
insert into 表名(字段1,字段2,字段3,...,字段n) values (值1,值2,值3,...,值n), (值1,值2,值3,...,值n), (值1,值2,值3,...,值n) ;
select * from 表名; *号表示匹配所有字段 ,是一个通配符
上文并没有插入address的数据,所以显示为NULL
查询表中指定字段:select 字段列表 from 表名; 字段列表使用逗号隔开
select 字段列表/* from 表名 where 字段名=值;
我要获取 teacher_id 为333 的人的 name
delete from 表名 [where 条件];
注意:如果没有指定where条件,则删除表中所有数据(!慎用!)
更新:将数据进行修改(通常是修改部分字段数据)
update 表名 set 字段名=新值 [where 条件];
注意:如果没有指定where条件,那么该字段下所有数据都会被修改成统一值!一定要谨慎!!