python-day37(MySQL数据库)

一. 库操作

  1. 创建数据库

    语法: create databas 数据库名 charset utf8;

    数据库命名规则:

      可以由数字,字母,下划线组成,@,#,$

      区分大小写

      唯一性

      不能使用关键字如 create select

      不能单独使用数字

      最长128位

      #基本上跟Python的命名规则一样

  2. 数据库相关操作

1 查看数据库
show databases;
show create database db1;
select database();

2 选择数据库
use 数据库名

3 删库跑路
drop database 数据库名;

4 修改数据库
alter database db1 charset utf8;

二. 表操作

  1. 存储引擎

  2. 表介绍

    表相当于文件,表中的一条记录就相当于文件的一行内容,表中的一条记录对应的标题,称为表的字段

  3. 创建表

    create table 表名(

    字段名1 类型 约束,

    字段名2 类型 约束

    );

create database db1 charset utf8;

use db1;

create table t1(
id int,
name varchar(50),
sex enum('male', 'female' ),
age int(3)
);

show tables; #查看db1库下所有表名

desc t1;#查看表结构

select id,name,sex,age from t1;

select * from t1;

select id,name from t1;



插入数据
insert into t1 values
(1,'a',18,'male');

insert into t1(id) values
(3),
(4);

select * from t1;

  4. 查看表结构

    describe t1;  #简写 desc

    show create table t1\G; #查看表详细结构

  5. MySQL的基础数据类型

    >关于数据类型<

  6. 表的完整性约束

    >关于表的完整性约束<

  7. 修改表 alter table

 1 语法:
 2 1. 修改表名
 3       ALTER TABLE 表名 
 4                           RENAME 新表名;
 5 
 6 2. 增加字段
 7       ALTER TABLE 表名
 8                           ADD 字段名  数据类型 [完整性约束条件…], #注意这里可以通过逗号来分割,一下添加多个约束条件
 9                           ADD 字段名  数据类型 [完整性约束条件…];
10       ALTER TABLE 表名
11                           ADD 字段名  数据类型 [完整性约束条件…]  FIRST; #添加这个字段的时候,把它放到第一个字段位置去。
12       ALTER TABLE 表名
13                           ADD 字段名  数据类型 [完整性约束条件…]  AFTER 字段名;#after是放到后的这个字段的后面去了,我们通过一个first和一个after就可以将新添加的字段放到表的任意字段位置了。
14                             
15 3. 删除字段
16       ALTER TABLE 表名 
17                           DROP 字段名;
18 
19 4. 修改字段
20       ALTER TABLE 表名 
21                           MODIFY  字段名 数据类型 [完整性约束条件…];
22       ALTER TABLE 表名 
23                           CHANGE 旧字段名 新字段名 旧数据类型 [完整性约束条件…];  #change比modify还多了个改名字的功能,这一句是只改了一个字段名
24       ALTER TABLE 表名 
25                           CHANGE 旧字段名 新字段名 新数据类型 [完整性约束条件…];#这一句除了改了字段名,还改了数据类型、完整性约束等等的内容
26 
27 语法
语法
 1 示例:
 2 1. 修改存储引擎
 3 mysql> alter table service 
 4     -> engine=innodb;
 5 
 6 2. 添加字段
 7 mysql> alter table student10
 8     -> add name varchar(20) not null,
 9     -> add age int(3) not null default 22;
10     
11 mysql> alter table student10
12     -> add stu_num varchar(10) not null after name;                //添加name字段之后
13 
14 mysql> alter table student10                        
15     -> add sex enum('male','female') default 'male' first;          //添加到最前面
16 
17 3. 删除字段
18 mysql> alter table student10
19     -> drop sex;
20 
21 mysql> alter table service
22     -> drop mac;
23 
24 4. 修改字段类型modify
25 mysql> alter table student10
26     -> modify age int(3);
27 mysql> alter table student10
28     -> modify id int(11) not null primary key auto_increment;    //修改为主键
29 
30 5. 增加约束(针对已有的主键增加auto_increment)
31 mysql> alter table student10 modify id int(11) not null primary key auto_increment;
32 ERROR 1068 (42000): Multiple primary key defined
33 
34 mysql> alter table student10 modify id int(11) not null auto_increment;
35 Query OK, 0 rows affected (0.01 sec)
36 Records: 0  Duplicates: 0  Warnings: 0
37 
38 6. 对已经存在的表增加复合主键
39 mysql> alter table service2
40     -> add primary key(host_ip,port);        
41 
42 7. 增加主键
43 mysql> alter table student1
44     -> modify name varchar(10) not null primary key;
45 
46 8. 增加主键和自动增长
47 mysql> alter table student1
48     -> modify id int not null primary key auto_increment;
49 
50 9. 删除主键
51 a. 删除自增约束
52 mysql> alter table student10 modify id int(11) not null; 
53 
54 b. 删除主键
55 mysql> alter table student10                                 
56     -> drop primary key;
57 
58 简单示例
示例

  8. 复制表

    点击链接

猜你喜欢

转载自www.cnblogs.com/Thui/p/10088684.html