第七天了哈!昨天学完了文件,我们今天就开始进行数据库的学习了!今天主要复习了一下去年关于数据库的知识!
1、 mysql的安装
mysql-5.0.27-win32.rar
setup.exe
选择功能模块
1) typical:包括常用功能模块
2) complete:所有弄能模块
3) custom:自己选择(推荐)
配置
1) detailed:详细配置
2) standard:标准配置
类型
1) developer:程序员机器,占用尽量少的资源
2) server:服务器,占用资源中等
3) dedicated:数据库专用服务器,占用资源最多
编码
默认latin 1 不支持中文
l Utf-8:国际通用码表
l Windows本地码表为GBK,也可选择GBK
系统选项
将mysql安装为windows服务,自动启动
将mysql目录添加到PATH环境变量,直接从命令行启动
运行
点击“开始”—“运行”---“cmd”---mysql –uroot –p123456
注意:在“-p口令” 中间不要有空格,无法判断口令的开始位置
或者-p回车,在下一行输入密码,密码不可见
2、 数据库概念
1)了解定义:DBMS、SQL、DDL、DML、DQL
设计项目的时候会针对每个应用创建一个数据库
数据库可以包含多张表
创建库
mysql>create database 数据库名 [参数]
参数:
l character set 编码方式
l collate 校队规则
详见附录
显示库
mysql>show databases;
显示数据库创建语句
mysql>show create database 数据库名;
修改数据库
mysql>alter database 数据库名 [参数]
注意:不能改数据库的名字
删除数据库
mysql>dropdatabase 数据库名
3表
操作表之前需确定使用哪个数据库
mysql>use 数据库名;
数据库名.表名
创建表
mysql>createtable 表名(
字段名 数据类型 属性设置,
字段名 数据类型 属性设置,
……
)[表参数设置];
参数:存储引擎(MyIsam 、Innodb) 详见P431
注意:MYISAM 占用空间小 .frm.MYD .MYI
INNODB 支持外键、事务、表空间文件 .frm
可以在同一个数据库共存
数据类型:详见p424
注意:mysql扩展ANSI/ISOSQL92标准,另外支持任意指定一个整型数值的显示格式,为宽度小于指定长度时左补零或空格准备的。
数值类型:整型和浮点
字符类型:
时间日期:
查看所有表:
mysql>showtables;
查看表的创建语句
mysql>showcreate table 表名;
显示表结构
mysql>desc 表名;
修改表名
mysql>renametable 旧表名 to 新表名;
修改表字符集
mysql>altertable 数据库名.表名 character set 字符集名;
添加字段
mysql>altertable 表名 add 字段名类型 first ;
mysql>altertable 表名 add 字段名类型 after 列名;
修改字段
注意:字段名不变时两者功能相同;
change、modify关键字
mysql>altertable 表名 change 旧字段名新字段名 类型 ;
mysql>altertable 表名 modify 新字段名类型 ;
删除表
mysql>drop table 表名;
删除列
mysql>altertable 表名 drop 列名;
4、表数据的操作
4.1插入insert
语法:insert into 数据库名.表名 [(字段名1,字段名2,…)] values(值1,值2,…);
注意:
l 插入值的数据类型、顺序必须和字段名列表中保持一致;
l 数据不能超出长度;
l 字符和日期数据建议放到单引号里;
l 字段列表不建议忽略,防止表结构发生变化引发错误;
l 中文乱码
mysql默认码表是utf8,而默认客户端(黑屏)gbk
Ø mysql:服务器端和客户端;
Ø 解决(黑屏)输入信息乱码:
Ø 修改客户端编码方式mysql>setcharater_set_client=gbk;
Ø 解决输出信息乱码:
Ø mysql>set character_set_result=gbk;
5、更新update
5.1语法
update 表名 set 列名1=值1,列名2=值2,… where 条件;
注意:
不带有where条件,表示更新所有行;
6、删除delete
6.1语法
delete from 表名 where条件
注意:
不带有where条件时,表示删除所有记录
delete只能删除行,如果针对某列执行则需要使用update
trancate 表名
7、查询select
7.1 语法
select 字段名1,字段名2,… from 表名 where 条件 group by (结果)having
order by 条件 limit 偏移量,长度;
注意:字段别名,表别名在使用过程中的注意事项
7.2 distinct
select distinct 字段名,字段名 from 表名;
distinct:表示过滤掉重复记录;
假如字段名不只一个,表示将多列合并后的重复记录过滤掉;
7.2 as
select 字段名 [as] 别名,字段名 [as] 别名 ,.. from 表名;
注意:
别名只影响查询结果的显示,不会修改表字段;
7.3where
select 字段列表 from 表名 where 条件
where包含运算符
Ø < >= <= = <> !=
Ø between and
Ø in(值列表)
Ø like: _ %
Ø is null
Ø and
Ø or
Ø !
做了很多练习,的确过去学的有些忘记,要慢慢捡起来哈