前文说过,SQL语言分为DDL
、DML
、DQL
和DCL
,接下来的几篇文章会对各个进行逐一的介绍。
DDL D定义 create 创建 、 drop 删除
DML M操作 insert 插入 、 delete 删除 、 update 更新
DQL Q查询 select 查询
DCL C控制 grant、 revoke
sql:结构化查询语言,是一种特殊的目的的编程语言,可以被关系型数据库识别
1、 DDL 数据定义语言:对数据库的创建和删除 以及对数据库表的创建删除和修改 关键字:create、drop
2、 DML 数据操作语言:对数据库表中数据的增 删 改 关键字:insert、delete、update
3、 DQL 数据查询语言:对数据库表中数据 查询 关键字:select
4、 DCL 数据控制语言:指定用户 分配权限 关键字:grant、revoke
5、 事务
操作数据库>操作数据库中的表>操作表的数据
关键字 带个飘· tab上面
- create 创造
- drop 删除;剃掉
- database 数据库
- show 展示
- use 使用
- charset 字符集
- drop 销毁
- alter 修改
MD5加密: 主要增强算法的复杂度和不可逆性 插入的时候加密 比对加密后的值
select into 表名 values (1,xiaoming,MD(‘123456’) )
一、进入正题DDL操作数据库
数据库定义语言DDL是数据库定义语言,顾名思义语言(SQL)是用来定义数据的,接下来从 增删查改方面来举例 数据库
和数据表
操作
由于学习英语的习惯跟多人第一次看到大写有些头疼,下面跟上小写
mysql的关键字不区分大小写
1,创建数据库
CREATE DATABASE IF NOT EXISTS shool 创建一个叫shool的数据库
create database if not exists
如果指定了if not exists
语句来创建shool库,如果库存在,也不会报错,判断它是否存在,只要名字相同就不允许创建.(好处是安全一些)
2,删除数据库
DROP DATABASE IF EXISTS school 删除数据库
drop database if exists
3,使用数据库
USE school 使用数据库
use
4,查看数据库
SHOW DATABASES 查看所有的数据库
show
5,创建指定字符集数据库
create database 库名 charset gbk; 修改成GBK字符集
6,查看数据库的创建信息
show create database db3;
7 , 修改数据库的字符集
alter database db3 charset utf8;
数据表的操作
1、创建表
--目标:创建一个school数据库
--创建学生表(列,字段) 使用SQL创建
--注意点,使用英文(),表的名称 和字段使用``括起来
--AUTO_INCREMENT 自增
--所以语句后面加 ,(英文的逗号) 最后一个不用加
--PRIMARY KEY 主键 ,一般一个表只有一个唯一的主键!
CREATE TABLE IF NOT EXISTS `student`(
`id` INT(3) NOT NULL AUTO_INCREMENT COMMENT'学号',
`name` VARCHAR(30) NOT NULL DEFAULT'匿名' COMMENT'姓名',
`pwd` VARCHAR(20) NOT NULL DEFAULT'123456' COMMENT'密码',
`sex` VARCHAR(2) NOT NULL DEFAULT'女' COMMENT'性别',
`birthday` DATETIME DEFAULT NULL COMMENT'出生日期',
`address` VARCHAR(100) DEFAULT NULL COMMENT'家庭住址',
`email` VARCHAR(50) DEFAULT NULL COMMENT'邮箱',
PRIMARY KEY(`id`)
)ENGINE=INNODB DEFAULT CHARSET=utf8
格式
-- 2、展示所有表CREATE TABLE [IF NOT EXISTS] `数据库表名`(
`字段名` 列类型 [属性][索引][注释],
`字段名` 列类型 [属性][索引][注释],
.....
`字段名` 列类型 [属性][索引][注释],
)[表的类型][字符集设置][注释]
逆向操作 常用命令
SHOW CREATE DATABASE school -- 查看创建数据库的语句
SHOW CREATE TABLE student -- 查看student数据表的定义语句
DESC student -- 查看表的具体结构
desc student
show tables -- 展示所有表
2、修改表
1.
-- 修改表名: ALTER TABLE 旧名 RENAME AS 新名
ALTER TABLE teacher RENAME AS teacher1
alter table student rname student --- 中共学习 修改表名
2.
-- 增加表的字段:ALTER TABLE 表名 ADD 字段名 列属性
ALTER TABLE teacher1 ADD age INT(11)
-- 添加字段
alter table students add class varchar(10); -- 在最后添加
alter table students add aa int first; -- 在第一个添加
alter table students add bb int after aa;-- 在aa后面添加bb
3.
-- 修改表的字段(重命名,修改约束!)
-- ALTER TABLE 表名 MODIFY 字段名 列属性[]
ALTER TABLE teacher1 MODIFY age VARCHAR(11) -- 修改约束
-- ALTER TABLE 表名 CHANGE 旧名字 新名字 列属性[]
ALTER TABLE teacher1 CHANGE age age1 INT(1) -- 字段重命名
4.
-- 删除表的字段 ALTER TABLE 表名 DROP 删除的字段名
ALTER TABLE teacher1 DROP age1
5.
-- 删除表 (如果表存在再删除IF EXISTS)
DROP TABLE IF EXISTS teacher1
所有的创建和删除操作尽量加上判断,以免报错~
删除有外键表的时候,要先删除引用别人的表(),在删除被引用的表()
下一篇DML操作数据库