SQL概念
structured query language:结构话查询语言,定义了所有操作关系型数据数据库的规则。每一个数据库操作的方式存在不一样的地方,称为方言
SQL通用语法
1、SQL语句可以单行或多行书写,以分号结尾
2、可使用空格或缩进来增强语句的可读性
3、Mysql数据库的sql语句不区分大小写,关键字建议使用大写
4、有3中注释:
单行注释:-- 注释内容 或 # 注释内容(mysql特有)
多行注释:/注释/
SQL分类
1)DDL(Data Definition language)数据定义语言
用来定义数据库对象:数据库,表,列等。关键字:create、drop、alter等
2)DML(Data Manipulaton language)数据操作语言
用来对数据库中表的数据进行增删改。关键字:insert,delete,update等
3)DQL(Data Query language)数据查询语言
用来查询数据库中表的记录(数据),关键字:select,where等
4)DCL(Data Control language)数据控制语言(了解)
用来定义数据库的访问权限和安全级别,及创建用户。关键字:GRANT,REVOKE等
Mysql 目录结构
1、MySQL安装目录
配置文件 my.ini
2、MySQL数据目录
几个概念:
数据库:文件夹
表:文件
数据
打开mysql:
os 命令:d: (进入D盘)
cd Program Files\MySQL\MySQL Server 5.5 (进入到Program Files\MySQL\MySQL Server 5.5 文件夹)
mysql -uroot -proot (打开MySQL)
DDL:操作数据库、表
操作数据库:CRUD
1、C(create):创建
- 创建数据库:create database 数据库名称;
- 创建数据库,判断不存在,再创建:create database if not exsits 数据库名称;
- 创建数据库,并指定字符集:create database 数据库名称 character set 字符集名;
- 练习:创建database 数据库名称 判断是否存在,并指定字符集 gbk
create database if not exsits db1 character set gbk;
2、R(Retrive):查询 - 查询所有数据库的名称:show databases;
- 查询某个数据库的字符集:查询某个数据库的创建语句:show create database 数据据名称
3、U(update):修改 - 修改数据库的字符集
alter database 数据库名称 character set 字符集名称;
4、D(Delete):删除
*删除数据库:drop database 数据库名称
判断数据库存在,存在再删除:drop database if exists 数据库名称
5、使用数据库 - 查询当前正在使用的数据库名称:select database();
- 使用数据库:use 数据库名称;
操作表
1、C(Create):创建
1)语法:
create table 表名(
列名1 数据类型1,
列名2 数据类型2,
…
列名n 数据类型n,
);
- 注意:最后一列,不需要加逗号(,)
- 数据库类型:
- (1)int:整数类型 age int
- (2)double:小数类型 score double(5,2)
- (3)data:日期 只包含年月日 yyyy-MM-dd
- (4)datatime:日期 包含年月日时分秒 yyyy-MM-dd HH:mm:ss
- (5)timestamp:时间戳类型 年月日时分秒 yyyy-MM-dd HH:mm:ss
如果将来不给这个字段赋值,或赋值null,则默认使用当前的系统时间,来自动赋值 - (6)varchar:字符串 name varchar(20):姓名最大20个字符
- zhangsan 8个字符 张三 2个字符
eg:创建一个表:
create table student(
id int,
name varchar(32),
age int,
score double(4,1),
birthday date,
insert_time timestamp
);
use student; – 用student这张表
desc student; – 查询表的结构
create table stu like student; – 复制student表
drop table if exists stu; – 删除stu表
2、R(Retrive):查询
- 查询某个数据库中所有表的名称:show tables
- 查询表结构:desc 表名
3、U(Update):修改
- (1)、修改表名
alter table 表名rename to 新的表名;
alter table student rename to stu; - (2)、修改表的字符集
alter table 表名 character set 字符集名称;
alter table stu character set utf-8; - (3)、添加一列
alter table 表名 add 列名 数据类型;
alter table stu add gender varchar(10);
desc stu; - (4)、修改列名称 类型
alter table 表名 change 列名 新列名 新数据类型
alter table stu change gender sex varchar(11);
alter table stu modify sex varchar(11); - (5)、删除 列
alter table 表名 drop 列名;
alter table stu drop sex;
4、D(Delete):删除
- drop table 表名;
- drop table if exists 表名;