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 ,
相关推荐
动力节点的杜老师讲述的mysql教程,详细讲解了MySQL的相关知识,包括MySQL概述,MySQL应用环境,MySQL系统特性,MySQL初学基础,MySQL管理工具,如何安装MySQL及MySQL新特性,通过观看可掌握MySQL全套知识。
动力节点的杜老师讲述的mysql教程,详细讲解了MySQL的相关知识,包括MySQL概述,MySQL应用环境,MySQL系统特性,MySQL初学基础,MySQL管理工具,如何安装MySQL及MySQL新特性,通过观看可掌握MySQL全套知识。
本教程将全面介绍MySQL的基础知识,并通过实例帮助你掌握其核心操作。 首先,我们来了解一下MySQL的基本概念。MySQL基于SQL(结构化查询语言),它是用于管理关系数据库的标准语言。在MySQL中,数据存储在表格中,...
- **约束**:为了保证数据的准确性和一致性,MySQL提供了主键约束(PRIMARY KEY)、唯一约束(UNIQUE)、外键约束(FOREIGN KEY)、非空约束(NOT NULL)等机制。 #### 表操作 表是MySQL数据库中最基本的数据存储...
主键约束是指对表中的每一条记录的唯一标识,非空约束是指某个字段不能为null,唯一性约束是指某个字段的值不能重复。 查询语言 查询语言是指对数据库表中的数据进行查询和提取的语言。常见的查询语言包括SELECT...
1. 非空约束:not null 2. 主键约束:primary key(AUTO_INCREMENT/自增) 3. 唯一约束:unique 4. 默认约束:default 5. 外键约束:foreign key 6. 检查约束:check mastering mysql 需要花费很长时间和精力,但掌握...
2. 域完整性:通过非空约束(NOT NULL)和默认值(DEFAULT)确保字段信息的完整性和一致性。 3. 参照完整性:利用外键约束确保不同表之间数据的一致性。 4. 用户自定义完整性:根据具体业务需求定义的数据约束。 ...
第一部分:入门篇 ...- 非空约束 第五章:视图 - 视图的概念 - 创建视图 - 修改与删除视图 - 视图的使用场景 第二部分:进阶篇 第六章:存储过程与函数 - 存储过程的概念 - 创建存储过程 ....
同时,需要定义字段的约束,例如主键约束、外键约束、唯一约束、非空约束等。这些约束可以确保数据的完整性和一致性。 在 MySQL 中,主键约束是指一个或多个字段的组合,用于唯一标识表中的每一行记录。主键约束...
这篇笔记主要涵盖了MySQL的基础概念、数据类型、数据库操作及SQL语句。 首先,我们理解MySQL的“三建”和“四句”。三建指的是创建数据库(Create Database)、创建表(Create Table)和创建约束(Create ...
- 在创建表时添加非空约束:`CREATE TABLE table_name (column_name data_type NOT NULL, ...);` - 创建表后添加非空约束:`ALTER TABLE table_name MODIFY column_name data_type NOT NULL;` - **特点**: - ...
5. **表的约束**:包括非空约束、唯一约束、主键约束、默认值约束等。 6. **主键自增**:使用`AUTO_INCREMENT`属性使主键字段自动递增。 #### 六、SQL语法规则 - **SQL语句**:可以单行或多行书写,以分号结束。 - ...
在学习MySQL基础和进阶知识时,了解这些基本概念和操作非常重要,它们构成了数据库管理和应用程序开发的基础。随着对MySQL的深入理解,还可以探索更复杂的主题,如视图、索引、存储过程、触发器、事务处理和权限管理...
### MySQL基础操作详解 #### 一、MySQL安装与配置 **1. 解压缩** - 首先,需要下载MySQL的安装包。通常可以从官方网站或其他可靠的来源获取。 - 下载完成后,将安装包解压到指定目录,例如`C:\MySQL`。 **2. ...
- **非空约束** - `NOT NULL`:字段的值不允许为空。 - 示例:`salary DOUBLE NOT NULL;` - **外键约束** - 在创建表时指定外键: - `CREATE TABLE tb (id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(20) ...
1. **非空约束 (NOT NULL)**:不允许字段值为空。这是确保字段必须包含数据的基本方式。例如,在用户表中,用户名字段通常会设置为非空,因为每个用户都应有唯一的用户名。 2. **唯一约束 (UNIQUE)**:确保字段中的...
列的属性约束包括列默认值DEFAULT、非空约束NOT NULL、唯一约束UNIQUE KEY、主键约束PRIMARY KEY以及自增约束AUTO_INCREMENT。这些约束确保了数据库表中的数据质量和一致性。 手册进一步介绍了行操作,包括行的查询...
### MySQL基础入门知识点...3. **非空约束**:确保某些字段不允许为空。 4. **唯一约束**:确保某些字段值的唯一性。 通过上述课程的学习,你将能够掌握MySQL的基本操作和使用方法,为进一步深入学习打下坚实的基础。
完整性约束包括实体完整性(主键约束)、参照完整性(外键约束)和用户定义的完整性(如唯一性约束、非空约束等)。例如,`UNIQUE`约束确保某个字段的值在整个表中是唯一的,`NOT NULL`约束保证字段值不能为空。 ...
5. 非空约束(NOT NULL):限制列不能为NULL,必须提供一个值。 四、SELECT语句详解 1. 开发准备:在使用SELECT之前,需要确保已连接到正确的数据库和表。 2. 基本的SELECT语句:`SELECT column1, column2 FROM ...