首页 > 数据库技术 > 详细

mysql系列之一数据库基本操作

时间:2016-02-24 15:51:01      阅读:280      评论:0      收藏:0      [点我收藏+]

一、数据库基本操作

1、创建数据库,并指定字符集为utf8
mysql> CREATE DATABASE hellodb CHARACTER SET utf8
2、查询数据库
mysql> SHOW DATABASES;   #查看存在的所有数据库(root才能查看所有)
mysql> SHOW CREATE DATABASE hellodb \G;    #查看数据库定义信息
3、删除数据库
mysql> DROP DATABASE hellodb;

二、数据表的基本操作

1、创建数据表

语法格式为:CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name
                (create_definition,...)
                [table_options]
                [partition_options]

例子1:

首先选择创建表的数据库,SQL语句如下
    mysql> USE hellodb;
    创建tb_text1表,SQL语句为:
    mysql> CREATE TABLE tb_text1 
    (id INT(11),name VARCHAR(25),deptld INT(11),salary FLOAT);
    Query OK, 0 rows affected (0.10 sec)  #表示创建成功
    查看一下创建的表,SQL语句如下:
    mysql> SHOW TABLES;
    +-------------------+
    | Tables_in_hellodb |
    +-------------------+
    | tb_text1          |
    +-------------------+
    1 row in set (0.00 sec)

例子2:

 使用主键约束
    (1)、单字段主键,可以有两种方法,具体SQL语句如下:
    创建数据表tb_text2,其主键为id(直接在列后面定义);
    mysql> CREATE TABLE tb_text2 (id INT(11)PRIMARY KEY,name VARCHAR(25),
           deptld INT(11),salary FLOAT);
    Query OK, 0 rows affected (0.40 sec)
    创建数据表tb_text3,其主键为id(定义在所有列之后);
    mysql> CREATE TABLE tb_text3 (id INT(11),name VARCHAR(25),deptld INT(11),
           salary FLOAT,PRIMARY KEY(id));
    Query OK, 0 rows affected (0.40 sec)   
    (2)、多字段联合主键(name,deptld联合在一起成为联合主键)
    mysql> CREATE TABLE tb_text4 (id INT(11),name VARCHAR(25),deptld INT(11),
           salary FLOAT,PRIMARY KEY(name,deptld));
    Query OK, 0 rows affected (0.03 sec)

例子3:外键约束

    外键是用来在两个表的数据之间建立链接,它可以是一列或者多列,一个表可以有一个或多个外键,外键对应的是参照完整性,一个表的外键可以为空值,若不为空值,则每一个外键值必须等于另一个表中主键的某个值。

    外键:首先它是表中的一个字段,它可以不是本表的主键,但对应另外一个表的主键。外键的主要作用是保证数据引用的完整性,定义外键后,不允许删除在另一个表中具有关联关系的行,外键的作用是保持数据的一致性、完整性。

    主表(父表):对于两个具有关联关系的表而言,相关联字段中主键所在的那个表即是主表。

    从表(子表):对于两个具有关联关系的表而言,相关联字段中外键所在的那个表即是从表。

创建主表tb_dept1,主键为id;
mysql> CREATE TABLE tb_dept1 (id INT(11)PRIMARY KEY,name VARCHAR(22) NOT NULL,
       location VARCHAR(50));
Query OK, 0 rows affected (0.38 sec)
创建从表tb_text5,让它的键deptld作为外键关联到主表的id;
mysql> CREATE TABLE tb_text5 (id INT(11)PRIMARY KEY,name VARCHAR(25),deptld INT(11),
    salary FLOAT,CONSTRAINT fk_emp_deptl FOREIGN KEY(deptld)REFERENCES tb_dept1(id));
Query OK, 0 rows affected (0.05 sec)   #在表tb_text5上添加了一个名称为fk_emp_deptl的外
键约束,外键名称为deptld,其依赖于表tb_dept1的主键id。

关联指的是在关系型数据库中,相关表之间的联系,它是通过相容或相同的属性或属性组来表示的,子表的外键必须关联主表的主键,且关联字段得数据类型必须匹配,如果类型不一样,则创建子表时,就会出现错误“ERROR 1005(HY000):Cant‘t create table ‘database.tablename‘(errno:150)"

例子4:使用非空约束

   非空约束(Not Null Constraint)指字段得值不能为空,对于使用了非空约束得字段,如果用户在添加数据时没有指定值,数据库就会报错。















本文出自 “把酒问苍天” 博客,请务必保留此出处http://79076431.blog.51cto.com/8977042/1744580

mysql系列之一数据库基本操作

原文:http://79076431.blog.51cto.com/8977042/1744580

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!