一、数据库基本操作
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
原文:http://79076431.blog.51cto.com/8977042/1744580