MySQL的基本操作
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,MySQL基本操作mysql命令 mysql -h host_name -u user_name -ppasswordh:当连接MySQL服务器不在同台主机时,填写主机名或IP地址u:登录MySQL
千家信息网最后更新 2026年11月02日MySQL的基本操作
MySQL基本操作
mysql命令 mysql -h host_name -u user_name -ppasswordh:当连接MySQL服务器不在同台主机时,填写主机名或IP地址u:登录MySQL的用户名p:登录MySQL的密码 ----------------
常用命令:
选定默认数据库:use dbname;显示所有数据库:show databases;显示默认数据库中所有表:show tables;放弃正在输入的命令:\c显示命令清单:\h退出mysql程序:\q查看MySQL服务器状态信息:\s ----------------
SQL语法组成
DML( Data Manipulation Language数据操作语言) --查询、插入、删除和修改数据库中的数据; --SELECT、INSERT、 UPDATE 、DELETE等;DCL( Data Control Language数据控制语言)--用来控制存取许可、存取权限等;--GRANT、REVOKE 等;DDL( Data Definition Language数据定义语言)--用来建立数据库、数据库对象和定义其列--CREATE TABLE 、DROP TABLE、ALTER TABLE 等功能函数--日期函数、数学函数、字符函数、系统函数等 ----------------
MySQL中使用SQL语言几点说明:
属于一个SQL语句,使用分号(;)结尾,否则mysql认为语句没有输入完。箭头(->)代表SQL语句没有输入完取消SQL语句使用(\c)SQL语句关键字和函数名不区分大小写(Linux区分,Windows不区分)使用函数时,函数名和后面的括号之间不能有空格 ----------------
建立数据库操作:
语法:create database 数据库名叙述:创建一个具有指定名称的数据库。如果要创建的数据库已经存在,或者没有创建的适当权限,则此语句失败。例:建立一个student库。 mysql> create database student; ----------------
建立表操作:
语法:create table 表名(列名1 列类型 [<列的完整性约束>],列名2 列类型 [<列的完整性约束>], ... ... );叙 述:在当前数据库下新创建一个数据表。列类型:表示该列的数据类型。例:建立一个表school,其由两列组成,第一列属性为非空,并做为主键,并自增 create table school( school_id int(10) not null auto_increment primary key, school_name varchar(20) );----------------
常见完整性约束:
PRIMARY KEY 主码约束(主键)UNIQUE 唯一性约束NOT NULL 非空值约束 AUTO_INCREMENT 用于整数列默认自增1UNSIGNED 无符号整数DEFAULT default_value 默认值约束DEFAULT cur_timestamp 创建新记录时默认保存当前时间(仅适用timestamp数据列)ON UPDATE cur_timestamp 修改记录时默认保存当前时间(仅适用timestamp数据列)CHARACTER SET name 指定字符集(仅适用字符串)----------------
在创建一个新的MySQL数据表时,
可以为它设置一个类型,其中最重要的3种类型是MyISAM:成熟、稳定和易于管理InnoDB:加入事物、数据行级锁定机制、外键约束条件、崩溃恢复等新功能HEAP:只存在于内存中,可做临时表create table tmp(…)ENGINE=MyISAM----------------
数据表之间的关联/引用关系是依靠具体的主键(primary key)和外键(foreign key)建立起来的。主键:帮助MySQL以最快的速度把一条特点的数据记录的位置确定下来。主键必须是唯一的主键应该是紧凑的,因此整数类型比较适合外键:引用另外一个数据表的某条记录。外键列类型尽可能与主键列类型保持一致外键列应该加上NOT NULL----------------
主键create table student( sid int not null auto_increment, name varchar(20) not null, primary key(sid));外键(自动检查外键是否匹配,仅适用InnoDB)create table score( cid int not null auto_increment primary key, score int, sid int, foreign key(sid) references student(sid));----------------
主表和从表
1、当主表中没有对应的记录时,不能将记录添加到子表 --成绩表中不能出现在学员信息表中不存在的学号; 2、不能更改主表中的值而导致子表中的记录孤立 --把学员信息表中的学号改变了,学员成绩表中的学号也应当随之改变;
3、子表存在与主表对应的记录,不能从主表中删除该行 --不能把有成绩的学员删除了 4、删除主表前,先删子表 --先删学员成绩表、后删除学员信息表----------------
语法:describe 表名; desc 表名;叙述:用于显示表的创建结构。
----------------
删除表操作
语法:drop table [if exists] tab_name [,tab_name]... 叙述:从数据库中删除给定的表。如果给出if exists 子句,则删除不存在的表不会出错。删除数据库操作语法:drop database [if exists] db_name 叙述:删除给定的数据库。在删除一个数据库后,它就永远没有了,因此要特别小心。如果给出if exists 子句,则删除不存在的数据库不会出错。----------------
语法:alter table 表名 action; 说明:action 可以是如下语句: add 列名 建表语句 [first | after 列名] 可以为表添加一列,如果没指定first或者after,则在列尾添加一列,否则在指定列添加新列 add primary key (列名) 为表添加一个主键,如果主键已经存在,则出现错误 add foreign key(列名) references 表名(列名) 为表添加一个外键 alter 列名 set default 默认值 可以更改指定列默认值----------------
change 旧列名 新列名 <建表语句> [first | after 列名] 可以更改列类型和列名称,如果原列的名字和新列的名字相同modify 列名 <建表语句> [first | after 列名] 和change的作用相同 drop 列名 //可以删除一列drop primary key //可以删除主键engine 类型名 //可以改变表类型rename as 新表名 //可以将表名更改----------------
举例1:
向people表中添加字段address2,类型为varchar,最大长度为100alter table people add address2 varchar(100);举例2:
将people表中的name列默认值改为100:alter table people alter name set default 100;举例3:
向student表增加"入学时间"列,其数据类型为日期型。 alter table student add scome date;注:无论基本表中原来是否已有数据,新增加的列一律为空值。 举例4:
将年龄的数据类型改为半字长整数。 alter table student modify sage smallint;注:修改原有的列定义有可能会破坏已有数据
----------------
查询语法:
SELECT [DISTINCT | DISTINCTROW | ALL] select_expression,... [FROM table_references [WHERE where_definition] [GROUP BY col_name,...] [HAVING where_definition] [ORDER BY {unsigned_integer | col_name | formula} [ASC | DESC] ,...] [LIMIT [offset,] rows] [PROCEDURE procedure_name] ] ----------------
from子句:指定查询数据的表where子句:查询数据的过滤条件 group by子句:对匹配where子句的查询结果进行分组having子句:对分组后的结果进行条件限制 order by子句:对查询结果结果进行排序,后面跟desc降序或asc升序(默认)。 limit子句:对查询的显示结果限制数目 procedure子句:查询存储过程返回的结果集数据 ----------------
使用函数:
SQL提供的统计函数称为集函数.主要的集函数:记数函数: count(列名) 计算元素的个数求和函数: sum(列名) 对某一列的值求和,但属性必须是整型计算平均值:avg(列名)对某一列的值计算平均值求最大值: max(列名) 找出某一列的最大值求最小值: min(列名) 找出某一列的最小值----------------
在WHERE子句中使用谓词 :BETWEEN AND :在两数之间 NOT BETWEEN AND :不在两数之间 IN <值表> :是否在特定的集合里(枚举) NOT IN <值表> :与上面相反 LIKE :是否匹配于一个模式 IS NULL(为空的)或 IS NOT NULL(不为空的)REGEXP : 检查一个值是否匹配一个常规表达式。----------------
子查询:将一个查询块嵌套在另一个查询块的WHERE子句或HAVING短语的条件中的查询称为子查询。一个SELECT-FROM-WHERE语句称为一个查询块 例如:
select sname from student where sno in (select studentid from sc where courseid=2);----------------
数据
数据库
类型
函数
查询
子句
语句
语法
结果
学员
之间
命令
数据表
条件
语言
最大
信息
字符
学号
成绩
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
耶加雪菲
深圳市人人互联网科技有限公司
中国互联网科技工作委员会毛军
科技互联网产品
互联网的科技
互联网科技的
华宇互联网科技
互联网科技公司电话
天津摩尔互联网科技
互联网科技寓意
欧洲十大科技互联网公司
米聚互联网科技南京有限公司排面
为客找房互联网科技公司怎么样
工业互联网展湾科技股份有限公司
山东有哪些互联网科技公司
电子商务与互联网科技的关系
启辰互联网科技
广州百诚互联网科技有限公司官网
互联网科技融合创新
米泉互联网科技专业怎么样
喔噻互联网科技
云电互联网科技
互联网科技博客
湖南洣水互联网科技有限公司扣款
阿里互联网科技企业
上海钢联属于互联网科技股吗
广州富喜互联网络科技
互联网高科技行业有哪些企业
北京天晋互联网科技有限公司
瑞安市蟠桃会互联网科技有限公司