1. 数据库能够做什么
存储大量数据,方便检索和访问
保持数据信息的一致、完整
共享和安全
通过组合分析,产生新的有用信息
2. 数据库和应用程序
应用程序
作用:响应操作并显示结果、向数据库请求数据
要求:美观、操作简单方便
数据库
作用:存储数据、检索数据、生成新的数据
要求:统一、安全、性能等
3. MySQL简介
MySQL的优势
运行速度快
使用成本低
可移植性强
适用用户广
社区版
免费,开源
适合普通用户
企业版
收费,不可自由下载
功能和服务更完善
适合对功能和安全要求高的企业用户
4. MySQL的运行机制
5. MySQL的配置
使用配置向导配置
端口号:3306
默认字符集:utf8(一种Unicode编码,解决国际上字符不统一的多字节编码,通用性强)
将bin目录写入
环境变量
root密码设置
6. 命令行连接MySQL
检查是否启动服务
DOS命令
net start mysql
如果修改了配置文件,必须重启MySQL服务才能生效
mysql –h服务器主机地址 –u 用户名 –p密码
示例:
mysql –u root –proot mysql –u root – p
DOS下运行
MySQL Command Line Client
默认root登录,仅输入密码
7. 结构化查询语言
SQL(Structured Query Language):结构化查询语言
8. SQL中的运算符
算术运算符
一种符号,它是用来进行列间或者变量之间的比较和数学运算
包括算术运算符、赋值运算符、比较运算符、逻辑运算符
赋值运算符
逻辑运算符
比较运算符
8. 系统数据库和用户数据库
9. 创建数据库
语法
CREATE DATABASE 数据库名;
示例
CREATE DATABASE myschool;
10. 查看数据库列表
语法
SHOW databases;
11. 选择数据库
语法
USE 数据库名;
示例
USE mybase; USE myschool;
使用数据前必须先选择该数据库!
12. 删除数据库
语法
DROP DATABASE 数据库名;
示例
DROP DATABASE myschool;
13. MySQL数据类型—数值类型
UNSIGNED属性
标识为无符号数
ZEROFILL属性
宽度(位数)不足以0填充
示例
CREATE TABLE `tb_type` (sid` INT(4) ZEROFILL); INSERT INTO ` tb_type1 ` VALUE(12) ,(1234),(123456);
若某数值字段指定了ZEROFILL属性,将自动添加UNSIGNED属性。
14. MySQL数据类型—字符串、日期类型
15. 创建表
语法
CREATE TABLE [IF NOT EXISTS] 表名 ( 字段1 数据类型 [字段属性|约束][索引][注释], …… 字段n 数据类型 [字段属性|约束][索引][注释] )[表类型][表字符集][注释];
示例
#创建学生表 CREATE TABLE `student`( `studentNo` INT(4) PRIMARY KEY, `name` CHAR(10), ……);
16. 字段的约束及属性
主键
CREATE TABLE student( `studentNo` INT(4) PRIMARY KEY, ……);
注释
CREATE TABLE test ( `id` int(11) UNSIGNED COMMENT ‘编号’ )COMMENT='测试表’ ;
设置字符集编码
CREATE TABLE [IF NOT EXISTS] 表名( #省略代码 )CHARSET = 字符集名;
17. 查看表
查看表是否存在
示例
USE myschool; SHOW tables;
语法
DESCRIBE 表名; 或 DESC 表名;
示例
USE myschool; DESCRIBE `student`;
18. 删除表
语法
DROP TABLE [IF EXISTS] 表名;
示例
USE myschool; DROP TABLE IF EXISTS `student`;
在删除表之前,先使用IF EXISTS语句验证表是否存在
19. 修改表
语法
#修改表名 ALTER TABLE 旧表名 RENAME [TO] 新表名;
#添加字段 ALTER TABLE 表名 ADD 字段名 数据类型 [属性];
#修改字段 ALTER TABLE 表名 CHANGE 原字段名 新字段名 数据类型 [属性];
#删除字段 ALTER TABLE 表名 DROP 字段名;
示例
DROP TABLE IF EXISTS `demo01`; #创建表 CREATE TABLE `demo01`( `id` INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY, `name` VARCHAR(8) NOT NULL ); #修改表名 ALTER TABLE `demo01` RENAME `demo02`; #添加字段 ALTER TABLE ` demo02 ` ADD `password` VARCHAR(32) NOT NULL; #修改字段 ALTER TABLE ` demo02 ` CHANGE `name` `username`CHAR(10) NOT NULL; #删除字段 ALTER TABLE ` demo02 ` DROP `password`;
20. 添加主键
语法
ALTER TABLE 表名 ADD CONSTRAINT 主键名 PRIMARY KEY 表名(主键字段);
21. 添加外键
语法
ALTER TABLE 表名 ADD CONSTRAINT 外键名 FOREIGN KEY(外键字段) REFERENCES 关联表名(关联字段);
22. MySQL系统帮助
语法
HELP 查询内容;
示例
HELP contents; HELP Data Types; HELP INT;