`
qmug
  • 浏览: 201680 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

MYSQL完全手册学习笔记(第八章)

阅读更多
使用数据库和表


创建数据库

mysql> create database db1;
Query OK, 1 row affected (0.01 sec)

不允许含有\,/,:,*,?,”,<,>这些符号,数据库的名字不能超过64个字符

两个数据库的名字不能相同

mysql> use test
Database changed

选择需要的数据库

删除数据库
mysql> drop database db1;
Query OK, 0 rows affected (0.00 sec)

创建表

mysql> create table user(id int(4),name varchar(50),tel varchar(50));
Query OK, 0 rows affected (0.06 sec)


Null 和not null 修饰符
mysql> create table user(id int(4),name varchar(20) not null,pass  varchar(20) n
ot null);
Query OK, 0 rows affected (0.06 sec)



Auto_increment 修饰符
自动增加1

MYSQL中的表只能有一个auto_increment字段,而且这个字段必须被定义为键


索引


P158——P163  空

主键
可以使用primary key 约束为一个表指定主键。在以俄国设计好的数据库中,主键对每条记录都是不变的、唯一的标识符。如果一个键被声明为主键,主键内的值很少被修改




mysql> use test
Database changed
mysql> create table firewall(
    -> host varchar(11) not null,
    -> port smallint(4) not null,
    -> access enum('deny','allow') not null,
    -> primary key(host,port)
    -> );
Query OK, 0 rows affected (0.08 sec)

主键约束可以用于一个单独的字段,也可以用于多字段的组合。






mysql> insert into firewall(host,port,access) values ('202.69.63.2','21','fe');
ERROR 1265 (01000): Data truncated for column 'access' at row 1
mysql> insert into firewall(host,port,access) values ('202.69.63.2',21,'fe');
ERROR 1265 (01000): Data truncated for column 'access' at row 1
mysql> insert into firewall(host,port,access) values ('202.69.63.2',21,'deny');
Query OK, 1 row affected (0.05 sec)

mysql> insert into firewall(host,pot,access) values ('101.102.0.3',22,'deny');
ERROR 1054 (42S22): Unknown column 'pot' in 'field list'
mysql> insert into firewall(host,port,access) values ('101.102.0.3',22,'deny');
Query OK, 1 row affected (0.01 sec)

外键是管理关系的 关系中所有的边中具有相同含义的字段作为公共部分来连接不同表中的记录。外键关系可以是一对一的,也可以是一对多的

表类型
MyISAM表类型

优化了压缩比例和速度,可以在不同的操作系统和平台之间进行移植
这种格式支持大表文件(大于4GB)并且允许对blog和text列进行索引

ISAM表类型
不大于4G  不能在不同的平台移植 容易分裂

HEAP 表类型等不常用的就暂时忽略一下了


InniDB类型
比较很完善的表的格式

复制表


mysql> use test
Database changed
mysql> select * from chengji ;
+----+------+------+---------+------------+
| id | name | math | physics | literature |
+----+------+------+---------+------------+
|  1 | john |   60 |      37 |         45 |
|  2 | jim  |   96 |      89 |         92 |
|  3 | bill |   65 |      12 |         57 |
|  4 | hary |   69 |      85 |         12 |
+----+------+------+---------+------------+
4 rows in set (0.00 sec)

mysql> create table chengji2 select * from chengji;
Query OK, 4 rows affected (0.34 sec)
Records: 4  Duplicates: 0  Warnings: 0

同理 可以根据查询到的字段 和需要的条件 来创建新的表

修改表

ADD drop   alter   change



mysql> create table members (mid int(2), mima char(8),mpass varchar(25));
Query OK, 0 rows affected (0.86 sec)

mysql> alter table members add email varchar(255) not null;
Query OK, 0 rows affected (0.33 sec)
Records: 0  Duplicates: 0  Warnings: 0

mysql> descrire members;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that
corresponds to your MySQL server version for the right syntax to use near 'descr
ire members' at line 1
mysql> describe members;
+-------+--------------+------+-----+---------+-------+
| Field | Type         | Null | Key | Default | Extra |
+-------+--------------+------+-----+---------+-------+
| mid   | int(2)       | YES  |     | NULL    |       |
| mima  | char(8)      | YES  |     | NULL    |       |
| mpass | varchar(25)  | YES  |     | NULL    |       |
| email | varchar(255) | NO   |     | NULL    |       |
+-------+--------------+------+-----+---------+-------+
4 rows in set (0.03 sec)

mysql> alter table members change mid id int(8) auto_increment unique;
Query OK, 0 rows affected (0.31 sec)
Records: 0  Duplicates: 0  Warnings: 0

mysql> describe members;
+-------+--------------+------+-----+---------+----------------+
| Field | Type         | Null | Key | Default | Extra          |
+-------+--------------+------+-----+---------+----------------+
| id    | int(8)       | NO   | PRI | NULL    | auto_increment |
| mima  | char(8)      | YES  |     | NULL    |                |
| mpass | varchar(25)  | YES  |     | NULL    |                |
| email | varchar(255) | NO   |     | NULL    |                |
+-------+--------------+------+-----+---------+----------------+
4 rows in set (0.05 sec)

mysql> alter table members drop mpass;
Query OK, 0 rows affected (0.33 sec)
Records: 0  Duplicates: 0  Warnings: 0

mysql> describe members;
+-------+--------------+------+-----+---------+----------------+
| Field | Type         | Null | Key | Default | Extra          |
+-------+--------------+------+-----+---------+----------------+
| id    | int(8)       | NO   | PRI | NULL    | auto_increment |
| mima  | char(8)      | YES  |     | NULL    |                |
| email | varchar(255) | NO   |     | NULL    |                |
+-------+--------------+------+-----+---------+----------------+
3 rows in set (0.05 sec)



mysql> alter table members rename to mem;
Query OK, 0 rows affected (3.23 sec)

mysql> select * from mem;
Empty set (0.00 sec)

mysql> select * from members;
ERROR 1146 (42S02): Table 'test.members' doesn't exist
mysql>


mysql> drop table mem;

mysql> drop table if exists mem;
Query OK, 0 rows affected (0.05 sec)


获得数据库、表、字段和索引的信息


mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| 2                  |
| etdao              |
| mysql              |
| test               |
+--------------------+
5 rows in set (0.00 sec)


mysql> show tables;
+----------------+
| Tables_in_test |
+----------------+
| birthday       |
| chengji        |
| chengji2       |
| data           |
| data2          |
| firewall       |
| library        |
| toys           |
| user           |
+----------------+
9 rows in set (0.36 sec)

mysql> describe chengji;
+------------+------------------+------+-----+---------+----------------+
| Field      | Type             | Null | Key | Default | Extra          |
+------------+------------------+------+-----+---------+----------------+
| id         | int(10) unsigned | NO   | PRI | NULL    | auto_increment |
| name       | varchar(45)      | YES  |     | NULL    |                |
| math       | float            | YES  |     | NULL    |                |
| physics    | float            | YES  |     | NULL    |                |
| literature | float            | YES  |     | NULL    |                |
+------------+------------------+------+-----+---------+----------------+
5 rows in set (0.09 sec)




1
1
分享到:
评论

相关推荐

    MYSQL完全手册 mysql

    MYSQL完全手册MYSQL完全手册MYSQL完全手册MYSQL完全手册MYSQL完全手册

    MYSQL完全手册学习笔记(练习时候的数据库)

    《MYSQL完全手册学习笔记》是针对MySQL数据库系统的一份详细学习资料,主要涵盖了数据库的各个方面,包括基础概念、安装配置、SQL语法、表的设计、索引、事务处理、视图、存储过程、触发器、备份恢复等。这些知识点...

    MySQL核心技术学习笔记

    ### MySQL核心技术学习笔记 #### 一、为什么要学习数据库 学习数据库的重要性主要体现在以下几个方面: 1. **持久化数据到本地**:数据库能够将应用程序产生的数据持久化存储在磁盘上,即使系统重启也不会丢失...

    MySQL中文完全手册

    MySQL中文完全手册,扫描版,PDF版,自己逐个加了目录,绝壁比市面上别的文档要好用!

    MySQL完全手册(中文)

    《MySQL完全手册(中文)》是MySQL数据库管理系统的一部详尽参考指南,旨在为读者提供全面、深入的MySQL知识。本书基于《MySQL: The Complete Reference》的中文翻译,覆盖了MySQL的所有核心概念、功能和最佳实践,...

    数据库 MySQL 学习笔记高级篇.md

    数据库 MySQL 学习笔记高级篇.md

    MySQL学习笔记.chm

    MySQL学习笔记.chmMySQL学习笔记.chmMySQL学习笔记.chmMySQL学习笔记.chm

    美河提供.MYSQL完全手册

    美河提供.MYSQL完全手册 美河提供.MYSQL完全手册 美河提供.MYSQL完全手册 美河提供.MYSQL完全手册

    MySQL完全手册(2)

    mysql的完全参考手册,电子书籍,共1846页,可以说完全囊括了mysql的全部奥秘。打包成了两部分,请下载后一起解压缩。这是第二部份

    MySQL OCP超详细学习笔记.pdf

    MySQL OCP 超详细学习笔记$pdf MySQL OCP 超详细学习笔记.pdf 是一份详细的 MySQL 学习笔记,旨在帮助 MySQL DBA master 数据库管理的知识和技能。本笔记涵盖了 MySQL 的多个方面,包括 MySQL 的配置、性能优化、...

    MySQL高可用学习笔记mysqlrouter_MHA.docx

    MySQL 高可用学习笔记 mysqlrouter_MHA 本文档主要讲解了 MySQL Router 和 MHA 的高可用配置和测试步骤。MySQL Router 是一个提供高可用和负载均衡的工具,而 MHA 是一个提供高可用和自动failover 的工具。下面我们...

    mysql完全手册下载

    这份"mysql完全手册"旨在为学习MySQL的用户提供全面的参考指南,涵盖从基础概念到高级特性的各种操作和查询。 手册可能会包括以下几个主要部分: 1. **MySQL安装与配置**:这部分会介绍如何在不同操作系统上安装...

    MySQL学习笔记.zip

    这份“MySQL学习笔记”将引导我们深入理解其核心概念和实用技能。 一、MySQL简介 MySQL是一个开源、免费的数据库系统,由瑞典的MySQL AB公司开发,后被Oracle公司收购。它的设计目标是速度、可移植性和简洁性,支持...

    MySQL优化学习思维笔记.xmind

    MySQL优化学习思维笔记.xmind

    mysql 个人学习笔记

    这份“MySQL个人学习笔记”涵盖了从基础到进阶的多个方面,旨在帮助学习者全面理解MySQL的使用。 1. **安装与配置**: 在开始学习MySQL之前,你需要了解如何在不同的操作系统上安装MySQL服务器,如Windows、Linux...

    mysql DBA学习笔记

    这份"超经典mysql DBA学习笔记"涵盖了成为一名优秀DBA所需掌握的众多知识点,旨在帮助学习者深入理解MySQL数据库的运维与优化。 一、MySQL概述 MySQL是一种开源、免费的关系型数据库管理系统,广泛应用于互联网应用...

    MYSQL完全手册.pdf

    美河提供.MYSQL完全手册.pdf ,易操作

    MySQL DBA深度学习笔记

    ### MySQL DBA深度学习笔记知识点概述 #### 一、MySQL版本选择与下载 - **MSI与ZIP包区别**: - **MSI文件**:适用于Windows系统,提供图形化安装界面,支持自定义安装路径及组件选择等功能,适合希望进行定制化...

    mysql学习笔记.rar

    这份"mysql学习笔记.rar"包含的资源旨在帮助初学者和有经验的开发者深入理解和掌握MySQL的相关知识。 首先,"mysql学习笔记.doc"很可能是核心的学习资料,它可能包含了MySQL的基础概念、安装与配置、SQL语言基础、...

Global site tag (gtag.js) - Google Analytics