SQL复习120110908

本文介绍了MySQL的基本操作,包括安装配置、数据库与表的管理、数据的增删改查等核心内容,并提供了具体示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  今天我们复习了MySQL的内容。首先复习了SQL的安装和环境配置,然后又讲了如何运行以及建库、建表、和表的增、删、改。

1.1. 运行

在cmd.exe中输入mysql –uroot –proot

或者mysql –uroot –p 回车之后输入密码, 密码不可见。

1.2. 数据库服务器、数据库和表之间的关系

所谓安装数据库服务器, 只是在机器上安装了一个数据库管理程序, 这个管理程序可以管理多个数据库. 

一般开发人员在设计项目的时候会针对每一个应用创建一个数据库.

为了保存每一类实体, 在一个数据库中创建多个表.

1.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)

每一行(一条记录)对应Java中的一个对象

每一列对应对象的一个属性

操作库

创建库

CREATE DATABASE [IF NOT EXISTS] 数据库名 [参数[ 参数] [ 参数]...];

参数:

CHARACTER SET 码表名

COLLATE 校对规则名, 详见文档10.10.1

显示库

SHOW DATABASES;

显示数据库创建语句

SHOW CREATE DATABASE 数据库名;

修改库

ALTER DATABASE 数据库名[ 参数[ 参数][ 参数]...];

注意: 不能改数据库的名字

删除库

DROP DATABASE [IF EXISTS] 数据库名;

练习:

创建一个数据库db1

创建一个数据库db2指定字符编码, 校对规则

create database db2 character set utf8 collate utf8_bin;

显示所有数据库

显示db2的字符编码

将db2的字符编码设置为gbk               alter database db2 character set gbk;

删除db2数据库drop database db3;

操作表

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

USE 数据库名

创建表

CREATE TABLE 表名(列名 类型[,列名 类型][,列名 类型]...);

查看所有表

SHOW TABLES;

查看表的创建语句

SHOW CREATE TABLE 表名;

显示表结构

DESC 表名;

修改表名

RENAME TABLE 原表名 TO 新表名;

修改字符集

ALTER TABLE 表名 CHARACTER SET 字符集名;

操作列

追加列

ALTER TABLE 表名 ADD 列名 类型[,列名 类型][,列名 类型]...;

修改列类型

ALTER TABLE 表名 MODIFY 列名 类型[,列名 类型][,列名 类型]...;

修改列

ALTER TABLE 表名 CHANGE COLUMN 原列名 新列名 类型;

删除列

ALTER TABLE 表名 DROP 列名;

操作数据(增删改)

1.4. 插入

语法:

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,entry_date, position,salary,resume)

values(1,'张三','男','1990-9-9', ‘2001-3-3’,'程序员',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,'介绍');

1.5. 修改

语法

UPDATE 表名 SET 列名=值[,列名=值]...[WHERE 条件语句];

注意事项

WHERE子句选择满足条件的行进行更新, 如果不写, 则更新所有行

练习

将所有员工的薪水改为5000

将姓名为张三的员工薪水改为7000

给李四加薪3000, 并且职位改为经理

1.6. 删除

语法

DELETE FROM 表名 [where 条件语句]

注意事项

如果不加where子句, 将删除表中所有记录

delete只能用作删除行, 不能删除某一列的值, 需要用update

在delete和update的时候需要注意表与表之间的关联关系

删除表中所有数据可以使用: TRANCATE 表名, 这种方式会删除旧表重新创建, 在数据较多的时候使用

练习

删除所有美工

删除表中所有数据

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值