DDL数据定义语言
2017-10-20 本文已影响0人
很很狠的狠角色
MySQL
一、MVC和三层架构
- MVC和三层架构.png
-
数据库的概念
数据库的概念.png - 验证MySQL是否安装配置成功:mysql -u root -p
- MySQL在windows系统下不区分大小写,其他系统严格区分大小写,应养成区分大小写的习惯。
- GRANT ALL PRIVILEGES ON 库名.表名 TO '用户名'@'IP地址' IDENTIFIED BY '密码' WITH GRANT POTION;
FLUSH PRIVILEGES;(用户数据和权限有修改后,在“不重启MySQL服务”的情况下直接生效)
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'lxh' WITH GRANT OPTION;
(所有的地址都可以使用root用户,密码为lxh远程访问所有的数据库)
GRANT ALL PRIVILEGES ON testdb.* TO 'lxh'@'localhost' IDENTIFIED BY 'lxh' WITH GRANT OPTION;
(本地用户可以使用lxh用户,密码为lxh远程访问数据库testdb的所有表)
二、DDL:数据定义语句(Data Definition Language)
- 对应关系
- java类和表结构对应。
- java对象和表中的一条记录对应。
- 作用:用于描述数据库中要存储的现实世界实体的语言,即创建数据库和表的结构。
- 常用关键字:CREATE ALTER DROP TRUNCATE
库操作
- 显示所有的数据库
SHOW DATABASES;
- 创建一个名称为mydb1的数据库。
CREATE DATABASE mydb1;
- 查看数据库的创建细节,可以看到使用的字符集。
SHOW CREATE DATABASE mydb1;
- 创建一个使用gbk字符集的mydb2数据库
CREATE DATABASE mydb2 CHARACTER SET gbk;
- 创建一个使用gbk字符集,并自带校对规则的mydb3数据库。
CREATE DATABASE mydb3 CHARACTER SET gbk COLLATE gbk_chinese_ci;
- 删除前面创建的mydb3数据库。
DROP DATABASE IF EXISTS mydb3;
- 查看服务器中的数据库,并把mydb2的字符集修改为utf8.
ALTER DATABASE mydb2 CHARACTER SET UTF8;
表结构操作
- 显示当前的数据库
SELECT DATABASE();
- 选择数据库
USE mydb1;
- 创建一个员工表
CREATE TABLE employee(
id int ,
name varchar(100),
gender varchar(10),
birthday date,
entry_date date,
job varchar(100),
salary float(8,2),
resume text
);
- 查看库中的所有表格
SHOW TABLES;
- 查看表的结构
DESC employee;
- 查看表的创建细节
SHOW CREATE TABLE employee;
- 在上面员工表的基础上增加一个image列
ALTER TABLE employee ADD image blob;
- 修改job列,使其长度为60(修改表的列类型MODIFY)
ALTER TABLE employee MODIFY job varchar (60);
- 删除image列
ALTER TABLE employee DROP image;
- 表名改为user
RENAME TABLE employee TO user;
- 修改表的字符集为utf8
ALTER TABLE user CHARACTER SET utf8;
- 列名name修改为username(修改表的列名CHANGE)
ALTER TABLE user CHANGE name username varchar(100);