数据库基本语句
MySQL是由Oracle公司出品的一种关系型数据库,库的概念就类似于电脑中的一个个文件夹,表类似于文件夹中的一个个Excel表格,表中的字段对应Excel中的表头。
为什么选择数据库而不使用文件存储数据呢?
在数据库内部利用算法实现索引,可以提升大量数据的查询速度,这是文件操作无法比拟的。
一、基本命令
-
启动服务
说明:以管理员身份运行cmd
格式:net start 服务名称
示例:net start mysql
-
停止服务
说明:以管理员身份运行cmd
格式:net stop 服务名称
示例:net stop mysql
-
连接数据
格式:mysql -hlocalhost -u用户名 -p -P3306
示例:mysql -u root -p
输入密码
-
退出登录(断开连接)
格式:quit 或 exit;
-
查看版本
示例:select version();
-
显示当前时间(连接后可以执行)
示例:select now();
-
远程连接
格式:mysql -h ip地址 -u 用户名 -p -P3306
输入密码
-
常见的字段约束
Unsigned 无符号 一般给数值型的字段添加 如果添加代表当前字段只能存正数 Int(5) 5代表显示的宽度 如果是有符号默认是11 如果是无符号默认10 Not null 不能为空 默认字段可以为空 如果添加了 那么此字段不能为空 Default 默认值 Primary key 主键约束(主键索引) 不能为空 且唯一 用于表示数据的唯一标识 Unique 唯一约束(唯一索引) 可以为空 不能重复 具有唯一性Auto_increment 自动递增 一般配合主键去使用
二、库操作(数据库操作必须以英文分号(;)结束)
- 查看有哪些数据库:show databases;
- 创建数据库:create database 库名;
- 进入数据库:use 库名;
- 查看当前使用的数据库:select database()
- 删除数据库:drop database 库名;
三、表操作
-
查看库中所有的表:show tables;
-
创建表:
格式:create table 表名(字段及类型);
注意:表名如果是关键字如show需要加反引号``
-
删除表:drop table 表名;
-
查看表结构:desc 表名;
-
查看建表语句:show create table 表名;
-
重命名表名:
1、rename table 表名1 to 表名2;
2、alter table 表名1 rename as 表名2;
-
修改表
alter table 表名 add、drop、change、modify 字段名 类型;
添加字段:alter table users add gender int after name;
(可以使用after,不能使用before,first代表插入在第一个)
添加外键:alter table users add foreign key(c_id) references class(id);
删除字段:alter table user drop gender;
修改字段名称:alter table user change gender sex char(1);
修改字段类型:alter table user modify sex int(1);
-
修改表的编码格式
alter table students CHARSET=GBK;
-
修改自增值
修改自增值为20
alter table students AUTO_INCREMENT=20;
四、数据操作
-
增:
a、全列插入:insert into 表名 values();
b、缺省插入:insert into 表名(字段1,字段2) values (值1,值2);
c、同时插入多条数据:insert into 表名 values(……),(……),(……);
d、将一张表查询结果插入另一张表,此时不需要加values:
insert into shop(name,address) select name,address from sqlorm.shops;
-
删:
a、删除某条数据
delete from 表名 where 条件;(不写条件时会删掉所有数据,条件一般用主键)
-
改
a、修改数据
update 表名 set name=‘zhangsan’ where id =1;
UPDATE 表名 SET text=REPLACE(text, ‘oldvalue’, ‘newValue’);
-
查
a、查询表中全部数据:
select * from 表名