存储数据的方法
第一种方法:用大脑来记住数据
第二种方法:写在纸上
第三种方法:写在计算机的内存中
第四种方法:写成磁盘文件
数据库和应用程序
应用程序
作用:响应操作并显示结果、向数据库请求数据
要求:美观、操作简单方便
数据库
作用:存储数据、检索数据、生成新的数据
要求:统一、安全、性能等
数据库的基本概念
数据库就是“数据”的“仓库”
数据库中包含表、关系以及操作对象
数据存放在表中
MySQL的运行机制
SQL(Structured Query Language):结构化查询语言
SQL中的运算符
系统数据库和用户数据库
CREATE DATABASE 数据库名;
SHOW databases;
DROP DATABASE 数据库名;
MySQL数据类型——数值类型
UNSIGNED属性
标识为无符号数
ZEROFILL属性
宽度(位数)不足以0填充
字符串、日期类型
创建表:
CREATE TABLE [IF NOT EXISTS] 表名 (
字段1 数据类型 [字段属性|约束][索引][注释],
……
字段n 数据类型 [字段属性|约束][索引][注释]
)[表类型][表字符集][注释];
字段的约束及属性
主键:
CREATE TABLE student(
`studentNo` INT(4) PRIMARY KEY,
……);
注释:
CREATE TABLE test (
`id` int(11) UNSIGNED COMMENT ‘编号’
)COMMENT='测试表’ ;
设置字符集:
CREATE TABLE [IF NOT EXISTS] 表名(
#省略代码
)CHARSET = 字符集名;
在myschool数据库中创建学生表
CREATE TABLE `student`(
`studentNo` INT(4) NOT NULL COMMENT '学号' PRIMARY KEY,
`loginPwd` VARCHAR(20) NOT NULL COMMENT '密码',
`studentName` VARCHAR(50) NOT NULL COMMENT '学生姓名',
`sex` CHAR(2) DEFAULT '男' NOT NULL COMMENT '性别',
`gradeId` INT(4) UNSIGNED COMMENT '年级编号',
`phone` VARCHAR(50) COMMENT '联系电话',
`address` VARCHAR(255) DEFAULT '地址不详'COMMENT '地址', `bornDate` DATETIME COMMENT '出生时间',
`email` VARCHAR(50) COMMENT'邮件账号',
` identityCard ` VARCHAR(18) UNIQUE KEY COMMENT '身份证号'
) COMMENT='学生表';
查看表是否存在
USE myschool;
SHOW tables;
查看表定义
DESCRIBE 表名;
或 DESC 表名;
删除表
DROP TABLE [IF EXISTS] 表名;
注:在删除表之前,先使用IF EXISTS语句验证表是否存在
修改表
#修改表名
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`;
添加主键
ALTER TABLE 表名 ADD CONSTRAINT 主键名
PRIMARY KEY 表名(主键字段);
添加外键
ALTER TABLE 表名 ADD CONSTRAINT 外键名
FOREIGN KEY(外键字段) REFERENCES 关联表名(关联字段);
总结