数据库 DATABASE
MySql oracle 端口3306
Oracle 端口1521
Sqlserver 端口1433
分为
DDL 定义类的 语句 如 建表 库 改表结构
DML 操作类的语句 数据的 增删改查 等
DCL 控制语句 权限 控制 事务控制
DDL :
建库 create database 库名
删除库 drop database 库名
切换数据库 use 库名
建表 create table 表名(
列名 列类型,
列名 列类型
)
create table myuser(
uid INT,
uname VARCHAR(20),
sex varchar(2)
);
删除表 drop table myuser;
修改表结构 alter table myuser ADD age int;
DML 操作 数据
增 insert into 表(列,列) values(值,值);
insert into myuser(uid,uname,sex,age) values(1,'小强','男',22);
删 delete from 表 where 条件
delete from myuser where uid>=3;
delete from myuser where uname='张三丰' or uid=2 ;
改
update 表 set 列=值 ,列=值 where 条件
update myuser set sex='女' ,age=18 where uid=3 and uname='张三丰'
查
select 列,列,列 from 表 where 条件
* 代表所有列
select * from myuser where age>18;
列类型
数值型
tinyint smallint int 整数 bigint
float double
字符型
char 0~255 固定长度 的 字符
name char(10) 中______ 用空间 换时间
不足的 右面补空格 补位 查询 时 会自动去掉
varchar 0~65535 字节 如果是utf-8 一个汉字 按3字节处理 21844个汉字
name varchar(9) 中 占 三个字节 用 时间换空间
text 65535个 字符
longtext 4G
日期型
datetime 日期时间 存的是 年月日
timestamp 日期时间 按秒取存储
大字段型 存储一些文件 xml 文本信息
blob 65535 byte
longlob 4g
查询语句
where 条件
l 列=值 and 并且 or 或者 > < >= <= != 不等于 <>不等于 >< 不成立
l 列 in ( 值,值,值 ) 列的值 是 括号中的 某个
select * from myuser where age in (18,20,23,500)
l 列 between 值 and 值1 列的值 >=值 并且 <=值1
select * from myuser where age BETWEEN 19 and 499;
l 列 like 模糊查询 % 任意个 任意字符 _ 任意一个字符
select * from myuser where uname like '%张%'
l 排序 order by 列 asc升序 (默认) desc降序 放在 sql 的最后面
select * from myuser order by uid desc ,age asc;