mysql基础回顾(一)

来源:互联网 发布:好听的会员名淘宝大全 编辑:程序博客网 时间:2024/06/08 03:13

一、SQL简介

1、结构化查询语言,一种定义、操作关系型数据库的语句。

2、由ANSI管理和维护。

工业标准:绝大多数数据库都支持。(SQL99)
方言:各个数据库厂商在工业标准上进行的扩展。

原则:尽量写SQL语句与具体数据库无关。

3、SQL的组成

DQL:数据查询语言
DML:数据操作语言
DDL:数据定义语言
DCL:数据控制语言
TPL:事务处理语言
CCL:指针控制语言
这里写图片描述

二、MySQL的安装与配置

1、验证安装是否成功
C:/>mysql -u root -p

三、DDL:数据定义语言

DDL:Data Definition Language
作用:用于描述数据库中要存储的现实世界实体的语言。即创建数据库和表的结构。
常用关键字:
CREATE ALTER DROP TRUNCATE

约定:关键字小写,用户自定义的东西全部大写。多个单词组成,用下划线分隔。
语法:默认情况下,语句以分号为分界符。
大小写问题:window下MySQL不区分大小写。其他系统严格区分大小写。

1、库操作

创建一个名称为mydb1的数据库。
create database MYDB1;
查看当前有多少库。
show databases;
查看数据库的创建细节
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 MYDB3;
查看服务器中的数据库,并把mydb2的字符集修改为utf8;
alter database MYDB2 character set utf8;

2、表结构

查看当前选择的数据库
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 LONGTEXT
);
查看表结构
desc EMPLOYEE;
在上面员工表的基本上增加一个image列。
alter table EMPLOYEE add (IMAGE longblob);
修改job列,使其长度为60。
alter table EMPLOYEE modify JOB varchar(60);
删除image列。
alter table EMPLOYEE drop IMAGE;
表名改为user。
rename table EMPLOYEE to USER;
查看当前库中的所有表
show tables;
修改表的字符集为utf8
alter table USER character set utf8;
列名name修改为username
alter table USER change NAME USERNAME varchar(100);

四、DML:数据操作语言

作用:用于向数据库表中插入、删除、修改数据。

常用关键字:
INSERT UPDATE DELETE(新手注意和DDL关键字的区别)

数据:

字符或字符串数据,用单引号引起来
日期或时间,用单引号引起来,日期的格式用yyyy-MM-dd
空值:null。

使用insert语句向表中插入三个员工的信息
insert into USER values (1,’niuqian’,’unkown’,’1943-09-08’,’2014-07-30’,’ceo’,10000,’boy or girl’);
insert into USER (ID,USERNAME,GENDER,BIRTHDAY,ENTRY_DATE,JOB,SALARY,RESUME) values (2,’niuqian’,’unkown’,’1943-09-08’,’2014-07-30’,’ceo’,10000,’boy or girl’);

插入中文:

insert into USER (ID,USERNAME,GENDER,BIRTHDAY,ENTRY_DATE,JOB,SALARY,RESUME) values (3,’王璐’,’男性’,’1999-09-08’,’2014-07-30’,’cto’,10000,’帅锅’);

编码问题:

告知服务器,客户端使用的编码是什么?
set character_set_client=gbk;
告知服务器,返回的结果用什么编码?
set character_set_results=gbk;

查看数据用到的编码情况:

show variables like ‘character_set%’;

练习

将所有员工薪水修改为5000元。
update USER set SALARY=5000;
将姓名为’zs’的员工薪水修改为3000元。
update USER set SALARY=3000 where USERNAME=’王璐’;
将姓名为’aaa’的员工薪水修改为4000元,job改为ccc。
update USER set SALARY=6000,JOB=’ufo’ where USERNAME=’王璐’;
将wu的薪水在原有基础上增加1000元。
update USER set SALARY=SALARY+1000 where USERNAME=’王璐’;

删除表中名称为’zs’的记录。
delete from USER where USERNAME=’王璐’;
删除表中所有记录。
delete from USER; (逐条删除)
使用truncate删除表中记录
truncate table USER; (摧毁表格,让后重建表结构)

0 0