Sql的分类
DDL**(Data Definition Language):数据定义语言,用来定义数据库对象:库、表、列等;CREATE、ALTER、DROP
DML***(Data Manipulation Language):数据操作语言,用来定义数据库记录(数据);INSERT、UPDATE、DELETE
DCL(Data Control Language):数据控制语言,用来定义访问权限和安全级别;
DQL*****(Data Query Language):数据查询语言,用来查询记录(数据)。
SELECT
*注意:sql语句以;结尾
DDL:操作数据库、表、列等
使用的关键字:CREATE、ALTER、DROP
3.1 操作数据库
创建
create database
mydb1;
Create database mydb2 character set gbk;
Create database mydb3 character set gbkCOLLATEgbk_chinese_ci;
查询
查看当前数据库服务器中的所有数据库
show databases;
查看前面创建的mydb2数据库的定义信息
Showcreatedatabase mydb2;
删除前面创建的mydb3数据库
Drop database mydb3;
修改
查看服务器中的数据库,并把mydb2的字符集修改为utf8;
alter database mydb2character set utf8;
删除
drop database mydb3;
*其他:
查看当前使用的数据库
select database();
切换数据库
use mydb2;
3.2 操作数据表
*语法:
create table表名(
字段1字段类型,
字段2字段类型,
...
字段n字段类型
);
常用数据类型:
int:整型
double:浮点型,例如double(5,2)表示最多5位,其中必须有2位小数,即最大值为999.99;
char:固定长度字符串类型;char(10)'abc'
varchar:可变长度字符串类型;varchar(10) 'abc'
text:字符串类型;
blob:二进制数据类型,例如图像,视频等;
date:日期类型,格式为:yyyy-MM-dd;
time:时间类型,格式为:hh:mm:ss
timestamp:时间戳类型yyyy-MM-dd hh:mm:ss会自动赋值
datetime:日期时间类型yyyy-MM-dd hh:mm:ss
当前数据库中的所有表
SHOW TABLES;
查看表的字段信息
DESC employee;
在上面员工表的基本上增加一个image列。
ALTER TABLE employee ADD image blob;
修改job列,使其长度为60。
ALTER TABLE employee MODIFY job
varchar(60);
删除image列,一次只能删一列。
ALTER TABLE employee DROP image;
表名改为user。
RENAME TABLE employee TO user;
查看表格的创建细节
SHOW CREATE TABLE user;
修改表的字符集为gbk
ALTER TABLE user CHARACTER SET gbk;
列名name修改为username
ALTER TABLE user CHANGE name username
varchar(100);
删除表
DROP TABLE user ;