1.建立一张表:表里面有多个字段, 需要包含各种数据类型
2.使用6种约束,必须要有样例:
未涉及的知识: select *from tb_name;
insert into tb_name values(列1的值,列2的值,列3的值....)
(1).进入数据库:[root@0918db ~]# mysql -uroot -p
(2)创建一个数据库:mysql> create database mydb
(3)查看正在使用的数据库:mysql> use mydb; #保证自己知道建的表在哪个数据库中
(4)创建自己的表:
表1:mysql> create table lkh_table(
-> lkh_no int,
-> lkh_name varchar(20),
-> lkh_age tinyint,
-> lkh_gender enum('M','F'),
-> lkh_id int
-> );
表2:
mysql> create table zuoye(
-> zuo_id int(100),
-> zuo_title varchar(255),
-> zuo_content text,
-> zuo_binary_content blob,
-> zuo_binary_content1 longblob,
-> zuo_intro tinytext,
-> zuo_label set('network','linux','mysql'),
-> zuo_content3 mediumtext,
-> zuo_author_gender enum('M','F'),
-> zuo_create_date date,
-> zuo_create_at timestamp
2.
非空约束(not null):值不能为null (所有类型如果没有设置非空约束,默认值都是空类型)
mysql> create table lkh1_table(
-> lkh_id int(20) primary key,
-> name varchar(40) not null
-> );
Query OK, 0 rows affected, 1 warning (0.01 sec)
唯一约束
唯一性约束条件确保所在的字段或者字段组合不出现重复值(unique key:可以设置在某一列上也可以设置在某几列上)
mysql> create table lkh2_table(
-> lkh_id int(10) primary key,
-> qq varchar(40) unique
-> );
Query OK, 0 rows affected, 1 warning (0.02 sec)
主键约束:
主键从功能上看相当于非空且唯一,一个表中只允许一个主键(primary key )
建表的时候加主键约束-
mysql> create table lkh3_table(
-> id int(50) primary key,
-> name varchar(20)
-> );
#建表之后加主键约束
mysql> alter table lkh3_table add constraint stu_no_pk primary key(stu_no);
外键约束:外键是构建于一个表的两个字段或者两个字段之间的关系:两个Entry进行联系(外键确保了相关的两个字段的两个关系)--foreign key
先创建两个表:国家 省份
mysql> create table country_tb(
-> country_id int(40),
-> country_name varchar(50)
-> );
Query OK, 0 rows affected, 1 warning (0.02 sec)
mysql> create table province_tb(
-> province_id int(60),
-> province_name varchar(70),
-> country_id int(80)
-> );
Query OK, 0 rows affected, 2 warnings (0.01 sec)
mysql> insert into country_tb values(1,'中国');
Query OK, 1 row affected (0.02 sec)
mysql> insert into country_tb values(2,'美国');
Query OK, 1 row affected (0.00 sec)
添加外键约束:
mysql> alter table province_tb add constraint country_province_fk foreign key(country_id) references country_tb(country_id);
默认值约束:
mysql> create table lkh6_table(
-> lkh_id int(20) primary key,
-> lkh_status varchar(30) default'active'
-> );
Query OK, 0 rows affected, 1 warning (0.03 sec)
检查约束(check)
mysql> CREATE TABLE tb_emp7
-> (
-> id INT(11) PRIMARY KEY,
-> name VARCHAR(25),
-> deptId INT(11),
-> salary FLOAT,
-> CHECK(salary>0 AND salary<100),
-> FOREIGN KEY(deptId) REFERENCES tb_dept1(id)
-> );