您的位置:首页 > 数据库 > MySQL

mysql数据库,表,表数据的操作(复习,有意者帮忙检查下)

2011-09-06 16:40 471 查看

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 –u root –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>drop database 数据库名

练习:

l 创建数据库db1

l create database db1;

l 创建数据库db2指定字符编码和校对规则

l create database db2 character set gbk collate utf8;

l 显示所有的数据库

l show databases;

l 显示db2的字符编码

l show create database db2;

l 将db2的字符编码设置为gbk

l alter database db2 default character set gbk;

l 删除数据库db1、db2;

l drop database if exists db1;

l drop database if exists db2;

l use db2;

3、 表

操作表之前需确定使用哪个数据库

mysql>use 数据库名;

数据库名.表名

创建表

mysql>create table 表名(

字段名 数据类型 属性设置,

字段名 数据类型 属性设置,

……

)[表参数设置];

参数:存储引擎(MyIsam 、Innodb) 详见P431

注意:MYISAM 占用空间小 .frm .MYD .MYI

INNODB 支持外键、事务、表空间文件 .frm

可以在同一个数据库共存

数据类型:详见p424

注意:mysql扩展ANSI/ISO SQL92标准,另外支持任意指定一个整型数值的显示格式,为宽度小于指定长度时左补零或空格准备的。

数值类型:整型和浮点

字符类型:

时间日期:

查看所有表:

mysql>show tables;

查看表的创建语句

mysql>show create table 表名;

显示表结构

mysql>desc 表名;

修改表名

mysql>rename table 旧表名 to 新表名;

修改表字符集

mysql>alter table 数据库名.表名 character set 字符集名;

添加字段

mysql>alter table 表名 add 字段名 类型 first ;

mysql>alter table 表名 add 字段名 类型 after 列名 ;

修改字段

注意:字段名不变时两者功能相同;

change、modify关键字

mysql>alter table 表名 change 旧字段名 新字段名 类型 ;

mysql>alter table 表名 modify 新字段名 类型 ;

删除表

mysql>drop table 表名;

删除列

mysql>alter table 表名 drop 列名;

练习:

创建表biao1,包含以下字段

Id 整型

Name 字符型

Birthday 日期

Salary 浮点

Photo 二进制

create table biao1(

id int,

name char,

birthday date,

salary float,

Photo blob

);

修改表名为biao2

rename table biao1 to biao2;

显示表结构

desc biao2;

增加一个字段 gender bit

Resume 4字符串

alter table biao2 add column resume char(4);

修改resume字段 大文本

alter table biao2 modify resume longtext;

将name字段长度修改为30

alter table biao2 modify name char(30);

将name字段改名为username

alter table table2 change name username char(30);

删除photo列

alter table biao2 drop photo;

删除biao2

drop table if exists biao2;

4、表数据的操作

4.1插入insert

语法:insert into 数据库名.表名 [(字段名1,字段名2,…)] values(值1,值2,…);

注意:

l 插入值的数据类型、顺序必须和字段名列表中保持一致;

l 数据不能超出长度;

l 字符和日期数据建议放到单引号里;

l 字段列表不建议忽略,防止表结构发生变化引发错误;

l 中文乱码

mysql默认码表是utf8,而默认客户端(黑屏)gbk

Ø mysql:服务器端和客户端;

Ø 解决(黑屏)输入信息乱码:

Ø 修改客户端编码方式mysql>set charater_set_client=gbk;

Ø 解决输出信息乱码:

Ø mysql>set character_set_result=gbk;

4.2练习

biao2插入以下信息:

1)1,’张三’,‘2007-2-3’,6000

insert into biao2(id,username,birthday,aaa) values('1','张三','2007-2-3','6000');

2)2,‘李四’,‘男’,‘1998-3-5’,‘10000’

insert into biao2(id,username,sex,birthday,aaa) values('2','李四','男',1998-3-5','10000');

3)3,‘王五’,‘女’,‘1990-5-6’,‘7000’,‘软件开发’

insert into biao2(id,username,sex,birthday,aaa) values('3','王五','女','1990-5-6','7000');

5、更新update

5.1语法

update 表名 set 列名1=值1,列名2=值2,… where 条件;

注意:

不带有where条件,表示更新所有行;

5.2练习:

将所有员工的工资增加1000;

update biao2 set 工资 = 工资 + 1000;

将张三的工资改为5000;

update biao2 set 工资=5000 where 姓名=‘张三’;

给李四增加100;

update biao2 set 工资 = 工资 + 100 where 姓名=‘李四’;

6、删除delete

6.1语法

delete from 表名 where条件

注意:

不带有where条件时,表示删除所有记录

delete只能删除行,如果针对某列执行则需要使用update

trancate 表名

6.2练习

删除所有男员工;

delete from biao2 where sex=‘男’;

删除表中所有数据;

delete from biao2;

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 表名;

注意:

别名只影响查询结果的显示,不会修改表字段;

练习:

查询年龄大于10岁的员工信息,用“年龄“当别名;

select name,sex as 年龄 from biao2 where sex>10;

7.3where

select 字段列表 from 表名 where 条件

where包含运算符

Ø < >= <= = <> !=

Ø between and

Ø in(值列表)

Ø like: _ %

Ø is null

Ø and

Ø or

Ø !

练习

查询英语分数在80-90之间的

select * from biao2 where 英语>80 and 英语<90 ;

查询语文为81,82,83,84的学生

select * from biao2 where 语文in(81,82,83,84);

查询姓张的学生信息

select * from biao2 where 姓名like‘张%’ ;

查询不姓张的学生的总成绩

select * from biao2 where 姓名 not like'张%';

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: