数据库MYSQL笔记1—DDL和编码


1. SQL分类

1.1. DDL(Data Definition Language)

定义:数据库,表,列等。关键字:create,alter,drop等

1.2. DML(Data Manipulation Language)

更新:表记录。关键字:insert,delete,update等

1.3. DCL(Data Control Language)

定义:访问权限和安全级别,及创建用户。

1.4. DQL(Data Query Language)

查询:表记录。关键字:select,from,where等 **(占工作大部分时间)**

2. SQL书写规则

2.1. 句子以 ;结尾

2.2. 语法不区分大小写(表数据字段除外)

2.3. 注释

单行:  # xxx 或 -- xxx ( 快捷键:ctrl + / );
多行: /* xxxxx  */

2.4. 常见数据类型设定

int #整型 (度量值)——可进行四则运算的
double #浮点型 (度量值)——可进行四则运算的
decimal #小数型 (数字总位数,保留小数点后几位)
varchar #字符串型 (时间除外的维度)
data # 日期型,日期 YYYY-MM-DD
time # 时间型 HH:MM:SS
datetime # 日期时间型 YYYY-MM-DD HH:MM:SS 

3. DDL数据库操作(创看删切)

3.1. 创建库

默认编码utf8,表信息有中文的话换成gbk即可
CREATE DATABASE dataset  CHARACTER SET gbk ;#创建数据库并确定读取方式
ALTER DATABASE dataset  CHARACTER SET=utf-8#修改数据库编码

3.2. 查看库

3.2.1. 查看所有库

SHOW DATABASE dataset ;**(注意有s)**

3.2.1. 查看当前使用的库

select DATABASE dataset ;

3.3. 删除库

drop DATABASE dataset ;

3.4. 切换库

use DATABASE dataset ;

4. DDL数据表操作(创看增改删)

4.1. 创建表 CREATE

create table 表名(
   字段名 类型(长度) 约束,
   字段名 类型(长度) 约束
);

4.2. 查看表 SHOW

4.2.1 查看当前库的表 SHOW tables

SHOW tables**(注意有s)**

4.2.2. 查看表结构——DESC等

DESC test;#方法1
SHOW COLUMNS FROM test;#方法2
DESCRIBE test;#方法3

4.3. 删除表——drop

drop tables dataset ;

4.4. 修改表的列结构——增改删

4.4.1. 增加列——ALTER ADD

/*方法一*/
ALTER TABLE test
ADD id VARCHAR(200) NOT NULL,
ADD name CHAR(11) NOT NULL;
/*方法二*/
ALTER TABLE test
ADD (id VARCHAR(200) NOT NULL,name CHAR(11) NOT NULL);

4.4.2. 修改列类型长度、约束——ALTER MODIFY

ALTER TABLE test MODIFY name VARCHAR(50) NOT NULL; /* 添加约束NOT NULL */
 
ALTER TABLE student
MODIFY tellphone VARCHAR(20) NOT NULL; /*CHAR(11)修改为VARCHAR(200)*/

4.4.3. 修改列名——ALTER CHANGE

ALTER TABLE sort CHANGE id userid VARCHAR(10),name username VARCHAR(10);

4.4.4. 删除列——ALTER DROP

ALTER TABLE student DROP home_address, DROP home_tel;

5. 编码注意

我们在dos命令行操作中文时,会报错

insert into user(username,password) values(‘张三’,123);

ERROR 1366 (HY000): Incorrect string value: '\xD5\xC5\xC8\xFD' for column 'username' at row 1

原因:因为mysql的客户端编码的问题我们的是utf8,而系统的cmd窗口编码是gbk
解决方案(临时解决方案):修改mysql客户端编码。
show variables like ‘character%’; 查看所有mysql的编码
在这里插入图片描述
在图中与客户端有关的编码设置:
client connetion result 和客户端相关
database server system 和服务器端相关

将客户端编码修改为gbk.

set character_set_results=gbk; / set names gbk;

以上操作,只针对当前窗口有效果,如果关闭了服务器便失效。如果想要永久修改,通过以下永久解决方式:
在mysql安装目录下有my.ini文件
default-character-set=gbk 客户端编码设置
character-set-server=utf8 服务器端编码设置

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值