python3 mysql

存储引擎:

查看所有支持的引擎:

show engines\G

 

查看正在使用的引擎:

show variables like 'storage_engine%';

 

创建表时可以指定引擎:

create table t1(id int)engine=innodb;

 表的操作:

 创建表:

语法: create table 表名( 字段名1 类型[(宽度) 约束条件], 字段名2 类型[(宽度) 约束条件], 字段名3 类型[(宽度) 约束条件] ); 注意:

1. 在同一张表中,字段名是不能相同 2. 宽度和约束条件可选 3. 字段名和类型是必须的

创建表:

create database db1 charset utf8;  # 注这里不能写utf-8

use db1;

create table t1(  
    -> id int, 
    -> name varchar(50),
    -> gender enum('male','female'),
    -> age int(3)
    -> );
show tables;

desc table1;

可以看到上面的表中gender这个字段在设置时将male后加了个换行,所以这要对这个字段时行修改:

alter table table1 modify gender enum('male', 'female')

 

修改完成!

向表中插入数据:

insert into table1 values(
(1,  'jack', 'male', 18),
(2, 'andrew', 'male', 20),
(3, 'Mary', 'female', 18);


Select * From table1;

 

 

 

编码问题:

 有时不注意就会发现数据库出现乱码,很明显这出现了编码问题。

可以看到此处插入中文出现错误,因为编码格式为lantin

解决方法:

方法一:

删除数据旧的数据库,重建新数据库,并指定编码:

Drop database db2;
Create database db2 charset='utf8';

 方式二:

修改:

Alter table t1 charset latin1;

Show create table t;

 

这时可能你把表的编码改了,但某个指定的字段并没有修改,这时就需要修改字段名:

alter table t1 modify name varchar(20);

 另应该将数据库编码修改,这样后面再创建

 永久性解决编码问题的方法:

#1. 修改配置文件
[mysqld]
default-character-set=utf8 
[client]
default-character-set=utf8 
[mysql]
default-character-set=utf8

#mysql5.5以上:修改方式有所改动
    [mysqld]
    character-set-server=utf8
    collation-server=utf8_general_ci
    [client]
    default-character-set=utf8
    [mysql]
    default-character-set=utf8

#2. 重启服务
#3. 查看修改结果:
\s
show variables like '%char%'

 查看表结构:

Describe t1;

 

修改表:

 

 

视图:

视图是一个虚拟表(非真实存在),其本质是【根据SQL语句获取动态的数据集,并为其命名】,

用户使用时只需使用【名称】即可获取结果集,可以将该结果集当做表来使用。

下面有两张表:course

teacher:

 测试

posted on 2017-09-18 17:05 Andy_963 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/Andy963/p/7543643.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值