在关系型数据库中,sql语句的书写基本大同小异,差别不大,本次是以MySql为基础的
MySQL关键字的顺序
select ..from.. where...group by...having...order by...,limit
中文乱码问题:
MariaDB [newdb1]> insert into emp values (4,‘王金华’,20);
如果有同学执行以上代码出现中文乱码问题,执行一下SQL语句 set names gbk;(报错1366)
- mysql打开指令
cmd->e:->cd E:\Program Files\MariaDB 5.5\bin //如果为其配置了环境则不需要
mysql -uroot -p
123456
MySql的相关指令:
关于数据库的一些操作
- 查询所有数据库:
show databases;
- 创建数据库
create database db1 character set utf8/gbk;
- 查看数据库详情
show create database db1;
-删除数据库
drop database db3;
-使用数据库
use 数据库名;
关于表的一些操作
- 创建表:
create table students(name varchar(10),age int,gender varchar(2));
create table students(id int,name varchar(10),Chinese int,math int,English int);
- 显示所有的表
show tables;
- 查看表详情
show create table 表名;
- 创建表时给定字符集
create table st(id int,name varchar(10))charset=gbk;
- 查询表字段
desc students;
- 删除表
drop table db1;
- 添加字段
最后添加格式
alter table person add sal int ;
最前面添加格式
alter table person add id int first;
xx的后面添加格式
alter table person add gender barchar(10) after name
- 删除表字段
alter table 表名 drop 字段名
alter table stt drop it;
- 修改表字段名和类型
alter table 表名 change 原名 新名 新类型
添加表字段
insert into emp values(2,'王华',20);
insert into emp(id,name) values(1,'王涛');
insert into emp values (5,'王ssths',20),(6,'sfsfs',20),(7,'虹华',20)(8,'小华',20)(9,'小王',20);
- 查询数据
select 字段信息 from 表名 where 条件;
- 修改数据
update emp set name='王王' where id=9;
创建案例:
create table hero(name varchar(10), type varchar(10), money int)charset=utf8;
insert into hero('诸葛亮','法师',18888); insert into hero values('周瑜','法师',13888),('孙悟空','打野',18888),('黄忠','射手',18888),('小乔','法师',13888),('刘备','战士',6888);
update hero set money=28888 where money=18888;
delete from hero where money=6888;
update hero set name='八戒' where name='猪八戒';
update hero set name='八戒' where name='小乔';
delete from hero where money<15000;
alter table hero add gender varchar(10) after name;
update hero set gender='男';
delete from hero;
drop table hero;
MySQL中常见的数据类型
- 整数
int(m) 和bigint(等效Java中的long),m代表显示长度,需要结合zerofill关键字使用
create table t_int(id int,age int(10) zerofill); insert into t_int
values(1,20);
- 浮点数
double(m,d)m代表总长度,d代表小数长度 m=5 ,d=3 23.456,
超高精度浮点数decimal(m,d)只涉及到超高精度的运算时使用
- 字符串
char(m)固定长度m=5;"abc"所占长度为5 ,执行效率高,最大长度255
varchar(m)可变长度为5,“abc”所占长度为3,节省空间,最大长度为65535,超过255建议使用text
text(m)可变长度,最大长度为65535
- 日期:
.date:只保存年月日
.time:只保存时分秒
.datetime :年月日时分秒。默认值为null,最大值为9999;
.timestamp:时间戳 默认值时当前系统时间,最大值为2038年1月19日