MySQL基础
一、数据库的操作
1.SQL分类:
DDL(数据定义语言) :数据定义语言 - Data Definition Language,用来定义数据库的对象,如数据表、视图、索引等。常用指令:create drop alter truncate
DML(数据操作语言):数据处理语言 - Data Manipulation Language,在数据库表中更新,增加和删除记录。常用指令:update, insert, delete 不包含查询
DCL(数据控制语言) :数据控制语言 – Data Control Language,指用于设置用户权限和控制事务语句。常用指令:grant,revoke,if…else,while,begin transaction
DQL(数据查询语言) :数据查询语言 – Data Query Language,数据表记录的查询。常用指令:select
2.数据库操作语言:
2.1 查询当前所有的数据库: show databases;
2.2 查看数据库的编码: show create database 库名;
2.3 创建数据库
(1) create database 库名;:由于创建数据库的是后没有指定编码表,使用安装时默认的编码表
(2) create database 库名 character set 编码表名 ; 创建数据库,使用指定的编码表
(3) drop database 库名 ; 删除数据库
(4) alter database 库名 character set 编码集; 修改数据库编码集
(5) use 库名 ; 切换数据库
(6) select database() ; 查询当前正在使用的数据
2.4 数据表结构语句
create table 表名(
列名 数据类型, 列名 数据类型, …… 列名 数据类型 (最后一个列不需要逗号) );
注解:char 与vachar的区别?
char 的性能好。 varchar可以节省空间 ,通常时候,如果长度不固定,我们使用varchar
(1) show tables :查看该数据库的说有表
(2) show create table 表名 ; 查看建表语句
(3) desc 表名;查看表结构(表列)
(4) 主键约束: primary key auto_increment (主键自增)
注解:作用:设置某一个字段为主键,主键的特性是唯一(不能重复),并且不能为空。
一般使用一个没有任何意义的字段,比如id作为一个主键(没有意义就不需要修改)。
如果主键是一个int类型,还可以设置主键自增长。(即在插入记录的时候可以不用设置主键,让其自动以递增的形式添加)
一张表中只能有一个主键。
create table 表名 ( id int primary key auto_increment, name varchar(20), …………. );
(5) 唯一约束:
唯一约束:unique 内容不允许重复,可以为null(null不算重复)。
一个表里可以添加多个唯一约束。
写法: 列名 类型(长度) unique
【示例】
create table 表名 (
id int primary key auto_increment,
name varchar(20) unique,
………….
);
唯一约束和主键约束的区别
1、唯一约束可以是空(null)。 但是主键约束不能为空
2、一张表中只能有一个主键,但是唯一约束可以有多个
(6)非空约束
非空约束:not null 。不允许为空。 表示该列的内容不允许为空。 写法: 列名 类型(长度) not null, 【示例】 create table emp( id int primary key auto_increment, name varchar(20) unique, age int not null, …………. );
2.5 数据表结构的修改