<1>创建数据库
语法格式:create databse [if not exists] 数据库名称 [character set [=] 编码名称];
例如:
create database tlxy;
create database if not exists tlxy;//忽略错误,显示警告
show warnings;//查看警告
create database db character set gbk;//指定创建的数据库的字符集
<2>查询数据库
语法格式:show databases;//查所有的数据库
show create database 数据库名;//查询某一个已经创建的数据库
<3>修改数据库
语法格式:
alter database [if not exists] 数据库名称 [character set [=] 编码名称];
例如:
alter database db character set utf8;
<4>删除数据库
语法格式:
drop database 数据库名称;
例如:
drop database db;
数据表的操作
<1>创建数据表
使用一个数据库:use 数据库名称;
查看当前正在使用的数据库:select database ():
创建数据表的语法:
create table 表名(
字段名 字段类型 约束,
字段名 字段类型 约束,
......
最后一个不带逗号
);
例如:创建用户表
create table user(
uid int,
username varchar(32),
password varchar(32),
birthday date,
sex enum('男’,‘女’)
);
<2>查询数据表
show tables;//显示当前数据库中所有的数据表
show columns from 表名;//查询某张表的表结构
desc 表名; //查询某张表表结构
<3>修改数据表
3.1 修改表名
方式一:alter table 表名 rename [as|to] 新表名;
例如:alter table user rename us;
方式二:rename table 表名 to 新表名 [,旧表名 to 新表名,.....]
例如:rename table us to user;
3.2 添加列
语法格式:
alter table 表名 add [column] 列名 列定义 [first|after 列名];
例如:
alter table user add sal double after password;//在指定的列后面添加新的列
alter table user add phone varchar(32);//默认在列的最后添加新的列
alter table user add hobby varchaar(32) first;//在列的最前面添加新的列
3.3 修改列定义
语法格式:
alter table 表名 modify 列名 列定义 [first|after 列名];
例如:
alter table user modify sex varchar(32) first;
3.4 修改列名
语法格式:
alter table 表名 change 列的列名 新的列名 新的列定义 [first|after 列名];
例如:
alter table user change hobby address varchar(20) after sal;
3.5 删除列
语法格式:
alter table 表名 drop [column]列名;
例如:
alter table user drop phone;
<4>删除数据表
语法格式:
drop table 表名;
例如:
drop table user;
2.数据操作语言(DML):用于操作数据库对象中所包含的数据
基本查询数据的语句:select * from 表名;
<1>插入操作
语法格式:insert [into] 表名 [(列名1,列名2,.....)] values|value (数值1|表达式,数值2|表达式,....);
例如:
create table teacher(
id int,
name varchar(32),
note varchar(32),
);
insert into teacher (id,note) values('1',‘先挣它一个亿');
insert into teacher value (2,'wangjianglin','xian zheng ta yi ge yi');
<2>删除操作
语法格式:
delete from 表名 [where 条件];
例如:
delete from teacher where id=1;//指定条件删除记录
delete from teacher;//不带条件删除,删除所有的记录
扩充:
truncate table 表名; ---------清空表,会清空表中所有的数据
面试题:
delete删除与truncate有什么区别?
删除方式:
delete:一条一条得删除,不清空auto_increment记录数
truncate:直接将表中的数据进行清空,auto_increment自增将被重置,重新开始
<3>修改操作
语法格式:
update 表名 set 列名1=数值,列名2=数值,.....where 条件;
例如:
update teacher set name=‘小三’,note=‘ming nian zai zhao yi ge’ where id=1;//带条件修改,修改制定记录
update teacher set name=‘xiaosi’;//不带条件 修改表中所有数据