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

mysql 非空约束 基础

阅读更多

 

Mysql和SQL的语法差不多是一样的,分为以下几个大类。

1、  数据定义语言(DDL):create , alter ,drop 等

2、  数据操作语言(DML):如插入,修改,删除等

3、  数据控制语言(DCL):grant,revoke等

 

我们通过控制台的mysql进行数据库操作,mysql语句的结束符是 ';'

当我们进入到mysql的控制台之后,可以查看有几个数据库

 

数据库操作:

显示所有数据库:show databases ;

删除数据库:drop databases dbname ;

创建数据库:create database [if not exists] dbname ;

切换数据库:use dbname ;

 

表操作:

显示当前使用数据库所有的表对象:show tables;

显示表结构:desc tablename ;   (desc -->describe)

创建一张表:

           create table student(

                  uid int,

                  uname varchar(20),

                  uscore float

           ) ;

子查询的建表方式:注意,新表的列名要与子查询的列明要对应,类型也要一样。

           create table somestudents(

                  uid int ,

                  uname varchat(20)

           )

           as

           select uid,uname from student ;

复制(备份)表:

           create table student2          

           as

           select * from student ;

删除表:drop table tablename ;

清空表里面的数据:truncate table tablename ; 与drop from tablename 相似。

重命名表:alter table student rename to students ;

 

字段操作:

添加一个表字段:alter table student add addr varchar(20) default ‘abcdefg’ ;

(--在mysql中是不区分大小写的,也不区分双引号或单引号--)

添加多个表字段:

               alter table student

                add (

                phone1 varchar(8) default  ‘12345678’

                phone2 varchat(11) default  ‘0000000000’

                ) ;

修改表字段:将phone1的长度扩展到9位,设置默认值,并设置为表的第一列。

              alter table student modify phone1varchar(9)  default ‘123456789’  first ;

将phone2设置在phone1字段后面

              alter table student modify phone2varchar(11) after phone1 ;

修改多个字段:mysql中alter modify不允许一次修改多个列(就像insert一样,一个insert可以插入多个行),但是oracle可以,但是mysql中可以通过多个modify来修改多个列。

              alter table student

              modify phone2 varchar(11) default ‘12345678999’,

              modify phone1 varchar(9) default ‘987654321’ ;

删除指定字段:alter table student drop phone1 ;

字段重命名:如果需要改变列名,建议使用change,如果只需要改变数据类型和显示位置用modify。

             alter table student change uname name varchar(20) ;

 

约束:

not null :某列的值不能为空

unique: 唯一约束,不能重复,可以为空。

primary key :主见约束,不能重复,不能为空,

foreign key :外键,

check: 指定一个表达式,用于检查指定数据。(mysql不支持,但是可以写。)

 

向表中某一字段添加约束:

非空约束:

添加非空约束:alter table student modify uage int not null ;

取消非空约束:alter table student modify uage int null ;

添加默认约束:alter table student modify uage int default ‘20’  not null ;

唯一约束:

添加唯一约束:alter table student add unique (name ,psw) ;用户名和密码不能重复。

                            alter table student modify name varchar(23) unique ;

删除唯一约束:alter table student drop index name ;去掉name列的唯一约束。

 

主键约束:

添加一个主键约束:alter table student modify uid int primary key ;

删除主键约束:        alter table student drop primary key ; 去除表中所有主键约束。

添加多个主键约束:alter table student add primary key(uid,uname) ;

将主键设置为递增:alter table student modify uid int auto_increment ;

 

外键约束:

增加外键约束:alter table student add foreign key(phone,addr)

                            references class(phone,addr) ;

删除外键约束:alter table student drop foreign key phone ;

                            alter table student drop foreign key addr ;

注意:当主表的记录被从表依赖时,主表的记录不允许被删除,除非从表解除这中依赖关系。

 

check约束:

                create table temp(

                id int primary key ,

                age int ,

               check (age > 20 )

                ) ;

这里的约束age>20实际上是不会产生作用的。

 

索引:

创建索引方式:

自动:当表上定义主键约束、唯一、外键约束时,该表会被系统自动添加上索引。

手动:手动在相关表或列上增加索引,提高查询速度。

 

删除索引方式:

自动:当表对象被删除时,该表上的索引自动被删除

手动:手动删除指定表对象的相关列上的索引

索引类似于书籍的目录,可以快速定位到相关的数据,一个表可以有多个索引。

 

创建索引:create index indexname on student(uid,uname) ;

删除索引:drop index indexname on student ;

 

视图:

视图就是一个表或多个表的查询结果,它是一张虚拟的表,因为它并不能存储数据。

视图的作用、优点:

限制对数据的访问

让复杂查询变得简单

提供数据的独立性

可以完成对相同数据的不同显示

创建视图:

                create view viewname

                as

                select uid,uname from student;

通常我们不对view做修改操作,我们可以加上with check option      

                create view viewname

                as

                select uid,uname from student

                with check option ;

删除视图:drop view viewname ;

 

数据操作:

插入语句:

          insert into 插入:

          insert into student(uid,uname) vaules(1,’dxd’) ;指定列插入

          insert into student values(2,’dd’,xx,xxx,xxxxx) ;完全列插入

          insert into student values(3,’gg’,xxx,xxx,xxxxx),

                                               (4,’dg’,xxx,xxx,xxxxx),

                                               (5,’tg’,xxx,xxx,xxxxx) ;多个记录插入。

          set插入:

                    insert into student set uid=6 , uname=’hh’ ;

 

更新数据:

                    update student set uname=jdk where uid = 4 ;

                    update student set sscore = sscore+10 ;

删除数据:

                   delete from student ;删除全部数据,和truncate一样。

                   delete from student where uid = 3 ;

select查询:

                  查询表中所有信息:select * from student ;

                  查询指定列和条件的数据:

                            select uid,uname from student

                            where uid > 3 ;

                  as对列重命名

                           select uid ad id from student ;

                  常量查询:select 9+1 ;

                  去掉重复查询:distinct

                 where查询:比较,and,or,in,like,between and , order by,

                                   is null ,is not null , not , not in ,

 

 

http://blog.csdn.net/main_stage/article/details/7896516

分享到:
评论

相关推荐

    动力节点MySQL数据库入门视频教程-086-非空约束

    动力节点的杜老师讲述的mysql教程,详细讲解了MySQL的相关知识,包括MySQL概述,MySQL应用环境,MySQL系统特性,MySQL初学基础,MySQL管理工具,如何安装MySQL及MySQL新特性,通过观看可掌握MySQL全套知识。

    动力节点MySQL数据库入门视频教程-087-非空约束测试

    动力节点的杜老师讲述的mysql教程,详细讲解了MySQL的相关知识,包括MySQL概述,MySQL应用环境,MySQL系统特性,MySQL初学基础,MySQL管理工具,如何安装MySQL及MySQL新特性,通过观看可掌握MySQL全套知识。

    MySQL数据库基础与实例教程所有资源

    本教程将全面介绍MySQL的基础知识,并通过实例帮助你掌握其核心操作。 首先,我们来了解一下MySQL的基本概念。MySQL基于SQL(结构化查询语言),它是用于管理关系数据库的标准语言。在MySQL中,数据存储在表格中,...

    mySQL培训文档基础版.doc

    - **约束**:为了保证数据的准确性和一致性,MySQL提供了主键约束(PRIMARY KEY)、唯一约束(UNIQUE)、外键约束(FOREIGN KEY)、非空约束(NOT NULL)等机制。 #### 表操作 表是MySQL数据库中最基本的数据存储...

    mysql基础学习必学命令

    1. 非空约束:not null 2. 主键约束:primary key(AUTO_INCREMENT/自增) 3. 唯一约束:unique 4. 默认约束:default 5. 外键约束:foreign key 6. 检查约束:check mastering mysql 需要花费很长时间和精力,但掌握...

    数据库MySQL基础知识点1

    2. 域完整性:通过非空约束(NOT NULL)和默认值(DEFAULT)确保字段信息的完整性和一致性。 3. 参照完整性:利用外键约束确保不同表之间数据的一致性。 4. 用户自定义完整性:根据具体业务需求定义的数据约束。 ...

    MySQL数据库PDF文档

    主键约束是指对表中的每一条记录的唯一标识,非空约束是指某个字段不能为null,唯一性约束是指某个字段的值不能重复。 查询语言 查询语言是指对数据库表中的数据进行查询和提取的语言。常见的查询语言包括SELECT...

    MYSQ基础语法删减手册.docx

    同时,需要定义字段的约束,例如主键约束、外键约束、唯一约束、非空约束等。这些约束可以确保数据的完整性和一致性。 在 MySQL 中,主键约束是指一个或多个字段的组合,用于唯一标识表中的每一行记录。主键约束...

    mysql笔记.pdf

    这篇笔记主要涵盖了MySQL的基础概念、数据类型、数据库操作及SQL语句。 首先,我们理解MySQL的“三建”和“四句”。三建指的是创建数据库(Create Database)、创建表(Create Table)和创建约束(Create ...

    MySQL约束课堂笔记.md

    - 在创建表时添加非空约束:`CREATE TABLE table_name (column_name data_type NOT NULL, ...);` - 创建表后添加非空约束:`ALTER TABLE table_name MODIFY column_name data_type NOT NULL;` - **特点**: - ...

    数据库01MySQL数据库开发基础篇-mysql数据库编程开发实训(基础篇)

    5. **表的约束**:包括非空约束、唯一约束、主键约束、默认值约束等。 6. **主键自增**:使用`AUTO_INCREMENT`属性使主键字段自动递增。 #### 六、SQL语法规则 - **SQL语句**:可以单行或多行书写,以分号结束。 - ...

    MySQL基础和加强(高级)

    在学习MySQL基础和进阶知识时,了解这些基本概念和操作非常重要,它们构成了数据库管理和应用程序开发的基础。随着对MySQL的深入理解,还可以探索更复杂的主题,如视图、索引、存储过程、触发器、事务处理和权限管理...

    mysql基础操作

    ### MySQL基础操作详解 #### 一、MySQL安装与配置 **1. 解压缩** - 首先,需要下载MySQL的安装包。通常可以从官方网站或其他可靠的来源获取。 - 下载完成后,将安装包解压到指定目录,例如`C:\MySQL`。 **2. ...

    mysql入门的基础

    - **非空约束** - `NOT NULL`:字段的值不允许为空。 - 示例:`salary DOUBLE NOT NULL;` - **外键约束** - 在创建表时指定外键: - `CREATE TABLE tb (id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(20) ...

    MySQL约束_java_资料.zip

    1. **非空约束 (NOT NULL)**:不允许字段值为空。这是确保字段必须包含数据的基本方式。例如,在用户表中,用户名字段通常会设置为非空,因为每个用户都应有唯一的用户名。 2. **唯一约束 (UNIQUE)**:确保字段中的...

    MySQL操作手册v1.0.pdf

    列的属性约束包括列默认值DEFAULT、非空约束NOT NULL、唯一约束UNIQUE KEY、主键约束PRIMARY KEY以及自增约束AUTO_INCREMENT。这些约束确保了数据库表中的数据质量和一致性。 手册进一步介绍了行操作,包括行的查询...

    mysql基础入门课程

    ### MySQL基础入门知识点...3. **非空约束**:确保某些字段不允许为空。 4. **唯一约束**:确保某些字段值的唯一性。 通过上述课程的学习,你将能够掌握MySQL的基本操作和使用方法,为进一步深入学习打下坚实的基础。

    国开作业《MySQL数据库应用》实验训练1在MySQL中创建数据库和表参考107.docx

    完整性约束包括实体完整性(主键约束)、参照完整性(外键约束)和用户定义的完整性(如唯一性约束、非空约束等)。例如,`UNIQUE`约束确保某个字段的值在整个表中是唯一的,`NOT NULL`约束保证字段值不能为空。 ...

    MYSQL基础 超级详细

    5. 非空约束(NOT NULL):限制列不能为NULL,必须提供一个值。 四、SELECT语句详解 1. 开发准备:在使用SELECT之前,需要确保已连接到正确的数据库和表。 2. 基本的SELECT语句:`SELECT column1, column2 FROM ...

    MySQL 基础 - 约束概述与演示.md

    ### MySQL基础 - 约束概述与演示 #### 一、引言 在数据库的设计与维护过程中,确保数据的完整性和一致性至关重要。MySQL作为一种广泛使用的开源关系型数据库管理系统,提供了多种约束机制来帮助开发者实现这一目标...

Global site tag (gtag.js) - Google Analytics