A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© lilongbin2016 中级黑马   /  2016-12-11 12:49  /  895 人查看  /  0 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文

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+表名、数据库名

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马