DBMS:数据库管理系统
数据库的CRUD操作 (create,retrieve,update,delete"增,减,改,查")
//定义
DDL操作(Data Definition Language)常见操作数据库和表(创建、删除、修改数据和表结构)
DML操作(Data Manipulation Language)常见的操作(增、删、改)
//操作
DQL操作(Data Query Language)常见操作(查询)
//控制
DCL操作(Data Control Language)常见操作(alter)
DOS:
启动 mysql:net start mysql
关闭 mysql:net stopmysql
进入 自己的mysql:mysql -uroot -proot(此处root是密码)
进入 别人的mysql:mysql -h+对方的IP -uroot -proot(对方密码)
退出 mysql:1.quit; 2.exit;查询IP:ipconfig/all
数据库像一个大的集合
show databases;//查询所有数据库
use+数据库名//进入数据库
show tables;//查看数据库里的所有表
create database user;//创建数据库
create table worker;//数据库创建表
desc worker;//查看表结构
用法:
1.增加数据
insert into worker(name,age)values('san',20);
插入第二个数据必需加入id
eg:insert into worker values(2,'lisi',23);
增加一列:
ALTER TABLE student ADD age INT NOT NULL;
2.删除数据
delete from worker where _id=3;
delete from worker where age=20;
删除整个表:drop table person;
删除数据库:drop database user;
3.修改
update worker set name='zliu' where _id=2;
update worker set age=19 where name='zliu' ;
修改表名:alter table worker rename to person;
4.查询
select*from worker;//查询所有人的信息
select*from worker where age=20;//查询年龄20的人
select name from worker where age=20;//查询年龄20的人的名字
select age from worker where _id=3;//查询id为3的的人的年龄
(键盘“←↑↓→”中的“↑↓”可以切换上一条语句)
查看表:select*from user;
格式化表:select*from user\G;
update user set password=password('123') where user='root';//修改当前用户(root)的密码,改成123
刷新数据库 flush privileges;
退出
quit;
exit;
DDL (date definition language)数据定义语言
创建数据表:create table [if not exists] `表名`(`字段名1` 列类型[属性] [索引][注释],...)[表类型][表字符集][注释];
#单行注释
/**/多行注释
tinyint :有符值:-2的7~2的7-1
无符值:2的8-1
int: 有符值:-2的31~2的31-1
无符值:2的32-1
double:包含所有小数
decimal:字符串形式的浮点数:decimal(m,d)
字符串类型
char[(M)] 固定长字符串,检索快但费空间0<=M<=255
varchar[(M)] 可变长字符串0<=M<=65535
text 文本串
日期和时间类型
DATE 格式:YYYY-MM-DD(范围:1000-01-01~9999-12-31)
TIME 格式:Hh:mm:ss
DATETIME 格式:YYYY-MM-DD Hh:mm:ssYEAR YYYY格式的年份值 (范围:1901~2155)
NULL值
注意:1.不要用null进行算术运算,结算仍未null
2.0或null都意味着假,1为真
属性
1.AUTO_INCREMENT (自动增长)
自动增长的,每添加一条数据,自动在上一个记录数上加1
通常用于设置主键,且为整数类型
2.null和not null
默认为null ,既没有插入该列的数值
如果设置为not null,必需赋值
创建表:
CREATE TABLE student(student_no INT NOT NULL PRIMARY KEY AUTO_INCREMENT,login_pwd VARCHAR(20),stu_name VARCHAR(20),sex TINYINT,grade_id INT ,phone VARCHAR(25) NOT NULL ,address VARCHAR(255) NOT NULL,borndate DATE,emial VARCHAR(50),`identified` VARCHAR(18));
添加数据:
insert into student values(null,'abc','王五',0,2,'13800000000','上海市浦东区','1993-3-26','lisi@163.com','210326199303261118');
计算两个人的总年龄:
SELECT sum(age)`总共年龄` FROM student;
SELECT avg(age)`平均年龄` FROM student;
SELECT max(age)`最大年龄` FROM student;
SELECT min(age)`最小年龄` FROM student;
select stu_name from student where not (age<23);//查询年龄不小于(大于等于)23的学生名字
select stu_name from student where age<>23;//查询年龄不等于23的学生名字
select student from student where stu_name ='周八' and age=19;//查询名字为周八并且年龄等于19的学生信息
select student from student where stu_name ='周八' or age=19;//查询名字为周八或者年龄等于19的学生信息
select age+20,grade id+2 from student where stu_name ='张三';//计算并显示张三的年龄和班级
select * form student where age between 19 and 23;//查询年龄在19到23之间的学生名字
select * from student from where student_no in(1,3,5);//查询id等于1、3、5的学生信息
select * from student from where name like `周%`;//模糊查询,名字以"周"这个字开头的数据
select * from student from where name like `%六%`;//模糊查询,查询名字中带有"六"的学生信息
修改表名
alter table 旧表名rename as 新表名
alter table student rename as student1
修改某一字段类型
alter table person modify uid int();
修改某一字段名称;
alter table person change ui _id int();
删除表、数据库
drop+表名、数据库名
|
|