`
dreamoftch
  • 浏览: 485630 次
  • 性别: 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基础操作及案例分析

    主键的作用(主键约束,自增长约束auto_increnment,非空约束-not null,唯一约束unique,默认约束default,零填充约束zerofill) DQL操作(排序查询,聚合查询,分组查询,分页查询limit,正则表达式)、 多表操作...

    MySQL使用入门

    文章目录MySQLDDL: CRUD数据库的CRUD创建查询修改删除使用数据库数据库表的CURD创建查询修改删除DML: 增删表中数据添加数据删除数据修改数据DQL: 查询表中的记录基础查询条件查询排序查询聚合函数分组查询分页查询...

    建表规范丶SQL规范丶索引规范-word文档

    默认值与非空约束:字段应设置默认值,并根据业务需求设置非空约束。 注释添加:为表和字段添加中文注释,以便后续维护和理解。 三、SQL规范 基础规范:使用InnoDB存储引擎以支持事务、行级锁,并优化并发性能;...

    MySQL基础学习3

    文章目录修改数据表增加字段名添加默认值给表重命名给字段名重命名修改字段名类型修改字段数据类型删除字段约束类型使用默认值唯一性约束非空约束检查约束外键约束删除约束自增长大小写约束 修改数据表 增加字段名 ...

    一看就懂的MySQL教程

    一看就懂的MySQL教程一、安装二、卸载三、配置1、MySQL服务启动2、MySQL登录3、MySQL 退出四、SQL1、什么是SQL2、SQL通用语法3、SQL分类1...非空约束:not null3.唯一约束: unique,值不能重复4.外键约束:foreign ke

    SQL基础必备

    LTER TABLE tb_1 ALTER COLUMN name varchar(20) not null --非空约束 ALTER TABLE tb_1 ADD CONSTRAINT p_name PRIMARY KEY(id) --增加主键约束id字段 ALTER TABLE tb_1 DROP CONSTRAINT p_name --删除主键约束...

    程序员的SQL金典6-8

     3.1.3 非空约束对数据插入的影响  3.1.4 主键对数据插入的影响  3.1.5 外键对数据插入的影响  3.2 数据的更新  3.2.1 简单的数据更新  3.2.2 带WHERE子句的UPDATE语句  3.2.3 非空约束对数据更新的影响  ...

    程序员的SQL金典7-8

     3.1.3 非空约束对数据插入的影响  3.1.4 主键对数据插入的影响  3.1.5 外键对数据插入的影响  3.2 数据的更新  3.2.1 简单的数据更新  3.2.2 带WHERE子句的UPDATE语句  3.2.3 非空约束对数据更新的影响  ...

    程序员的SQL金典3-8

     3.1.3 非空约束对数据插入的影响  3.1.4 主键对数据插入的影响  3.1.5 外键对数据插入的影响  3.2 数据的更新  3.2.1 简单的数据更新  3.2.2 带WHERE子句的UPDATE语句  3.2.3 非空约束对数据更新的影响  ...

    程序员的SQL金典4-8

     3.1.3 非空约束对数据插入的影响  3.1.4 主键对数据插入的影响  3.1.5 外键对数据插入的影响  3.2 数据的更新  3.2.1 简单的数据更新  3.2.2 带WHERE子句的UPDATE语句  3.2.3 非空约束对数据更新的影响  ...

    程序员的SQL金典.rar

     3.1.3 非空约束对数据插入的影响  3.1.4 主键对数据插入的影响  3.1.5 外键对数据插入的影响  3.2 数据的更新  3.2.1 简单的数据更新  3.2.2 带WHERE子句的UPDATE语句  3.2.3 非空约束对数据更新的影响  ...

    百度地图毕业设计源码-mysql:数据库/MySQL数据库学习

    mysql基础知识 1. mysql主键 主键:primary key,表中主要的键,每张表中只能有一个字段使用此属性 主要作用:用来唯一的约束该字段里面的数据,不能重复 主键约束:即主键对应的字段里面的数据不允许重复,如果重复,...

    6天掌握MySQL基础–day5

    文章目录DDL语言(接day4)常见约束标识列TCL语言事务视图 复习 day4的学习内容 DDL语言(接day4) 常见约束 含义:一种限制,用于限制表...CHECK:检查约束【mysql中不支持】 比如年龄、性别 FOREIGN KEY:外键,用于限

    B+Tree索引的背后

    本文基于MySQL5.7为基础,讨论与数据库索引相关的一些内容。MySQL是一个支持多存储引擎插件的数据库,各种引擎已插件的方式接入,而各种存储引擎对索引的支持各不相同。本文只讨论InnoDB的B+Tree索引,因为这是MySQL...

    oracle全程笔记及代码

    关系型数据库产品:Oracle(Oracle公司产品)、DB2(IBM产品)、SQL Server(微软的产品)、Sybase(赛贝斯公司产品)、MySQL(Oracle 公司产品) (2)关系模型的组成:数据结构+数据操作+数据完整性,数据结构指表、...

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

    ORACLE用户是学习ORACLE数据库中的基础知识,下面就介绍下类系统常用的默认ORACLE用户: 1. sys用户:超级用户,完全是个SYSDBA(管理数据库的人)。拥有dba,sysdba,sysoper等角色或权限。是oracle权限最高的用户,...

    SQL培训第一期

    关系模型的实体完整性在create table中用primary key约束实现,primary key约束用于定义主键,它保证主键的唯一性和非空性。 1.4.2 参照完整性 关系模型的参照完整性可以通过在create table中用foreign key (<外键>)...

Global site tag (gtag.js) - Google Analytics