2011.9.8
来源:互联网 发布:freecodecamp java 编辑:程序博客网 时间:2024/04/29 03:28
课程笔记
今天是对mysql的复习,主要内容是数据库的简单介绍及一些常用的查询语句。
一. 数据库概念
1.数据库服务器、数据库和表之间的关系
所谓安装数据库服务器, 只是在机器上安装了一个数据库管理程序, 这个管理程序可以管理多个数据库.
2.一般开发人员在设计项目的时候会针对每一个应用创建一个数据库.
3.为了保存每一类实体, 在一个数据库中创建多个表.
二.数据在数据库中的存储方式
id=1 id=2
name=Tom name=Jerry
age=18 age=20
列(column) 列(column) 列(column)
id
name
age
1
Tom
18
2
Jerry
20
行(row)
行(row)
1.每一行(一条记录)对应Java中的一个对象
2.每一列对应对象的一个属性
三.操作库
1.创建库
CREATE DATABASE [IF NOT EXISTS] 数据库名 [参数[ 参数] [ 参数]...];
参数:
CHARACTER SET 码表名
COLLATE 校对规则名 参见帮助文档第10章
命令:show character set;可以显示MySQL支持的字符集和校对规则
Show collation like ‘latin1%’; 显示latin1字符集可以采用的校对规则
2.显示库
SHOW DATABASES;
3.显示数据库创建语句
SHOW CREATE DATABASE 数据库名; 查看数据库所采用的字符集
4.修改库
ALTER DATABASE 数据库名[ 参数[ 参数][ 参数]...];
注意: 不能改数据库的名字
5.删除库
DROP DATABASE [IF EXISTS] 数据库名;
五.操作表
操作表之前使用需要先确定使用哪个数据库
USE 数据库名
1.创建表
CREATE TABLE 表名(列名 类型[,列名 类型][,列名 类型]...);
2.查看所有表
SHOW TABLES;
3.查看表的创建语句
SHOW CREATE TABLE 表名;
4.显示表结构
DESC 表名;
5.修改表名
RENAME TABLE 原表名 TO 新表名;
6.修改字符集
ALTER TABLE 表名 CHARACTER SET 字符集名;
7.删除表
DROP TABLE 表名;
六.操作列
1.追加列
ALTER TABLE 表名 ADD 列名 类型[,列名 类型][,列名 类型]...;
2.修改列类型
ALTER TABLE 表名 MODIFY 列名 类型[,列名 类型][,列名 类型]...;
3.修改列
ALTER TABLE 表名 CHANGE COLUMN 原列名 新列名 类型;
4.删除列
ALTER TABLE 表名 DROP 列名;
七.操作数据(增删改)
1.插入
语法:
INSERT INTO 表名[(列名[,列名]...)] VALUES(值[,值]...);
注意事项:
插入值类型必须与对应列的数据类型一致
数据不能超出长度
插入值得为之必须与列名顺序一致
字符和日期数据要放在单引号中
插入空值使用null
如果不指定插入哪一列, 就是插入所有列
中文数据
由于默认码表是utf8, 而cmd.exe的码表是gbk, 在插入中文数据的时候会报错, 所以我们需要修改客户端码表
先查看系统变量: SHOW VARIABLES LIKE 'character%';
修改客户端码表: SET character_set_client=gbk;
这样就解决了中文插入的问题, 但在查询数据的时候仍然显示为乱码, 这是因为mysql向cmd传输数据的时候使用的是utf8
修改输出数据的码表: SET character_set_results=gbk;
练习
向user表中插入3条包含中文的数据
insert into user(id,username,gender,birthday,position,salary,resume)
values(1,'张三','男','1990-9-9','程序员',6000,'介绍');
insert into user(id,username,gender,birthday,position,salary,resume)
values(2,'李四','男','1990-9-9','程序员',6000,'介绍');
insert into user(id,username,gender,birthday,position,salary,resume)
values(3,'王五','男','1990-9-9','测试',6000,'介绍');
insert into user(id,username,gender,birthday,position,salary,resume)
values(4,'赵六','男','1990-9-9','美工 ',6000,'介绍');
2.修改
语法
UPDATE 表名 SET 列名=值[,列名=值]...[WHERE 条件语句];
注意事项
WHERE子句选择满足条件的行进行更新, 如果不写, 则更新所有行
3.删除
语法
DELETE FROM 表名 [where 条件语句]
注意事项
如果不加where子句, 将删除表中所有记录
delete只能用作删除行, 不能删除某一列的值, 需要用update
在delete和update的时候需要注意表与表之间的关联关系
删除表中所有数据可以使用: TRANCATE 表名, 这种方式会删除旧表重新创建, 在数据较多的时候使用
- 2011.9.8
- 2011.9.8
- 2011.9.8
- 2011.9.8日报
- 2011.8.16---2011.9.8 三大系统开发第一阶段总结
- 2011.9.4
- 2011.9.11
- 2011.9.13
- 2011.9.14
- 2011.9.18
- 2011.9.19
- 2011.9.19
- 2011.9.20
- 2011.9.29
- 2011.9.29
- 2011.9.30
- 工作日志2011.9.2
- 计划2011.9-2011.10
- 课堂笔记2011.9.7
- 红外热像仪
- lamp+svnmanager+artifactory安装
- DOS批处理中%cd%和%~dp0的异同
- 2011.09.13
- 2011.9.8
- Python指南
- 关于I²C和SPI总线协议
- http抓包工具
- udev——设备文件管理的用户空间实现
- java面试题2
- css
- hbase安装
- CDO是一套编程接口