1. 数据库服务器、数据库和表之间的关系
所谓安装数据库服务器, 只是在机器上安装了一个数据库管理程序, 这个管理程序可以管理多个数据库.
一般开发人员在设计项目的时候会针对每一个应用创建一个数据库.
为了保存每一类实体, 在一个数据库中创建多个表
2. 操作库-----库
(1)show databases; 显示当前数据服务器上的数据库
(2)create database 数据库名 系统会在指定文件夹下创建子文件夹
(3)create database if not exists 数据库名。如果数据库不存在这创建,存在则不创建.
(4)create database 数据库名
charcter set 字符名称 字符集
eg.//create database if not exists xsm
//character set utf8
(5)数据库修改
alter database xsxxm
3.数据库----表
(1)创建表,指定某以数据库为当前数据库
use 数据库名 //选择默认数据库
create table[if not exists]表名(列名 类型,列名 类型,列名 类型);
创建表:
A. mysql>create table if not exists xs(
->id int,
->name char(10),
->sex bool,
->age tinyint,
->scroe int);
B.create table tab1(id char(8) not null,name char(8));
(2)操作
A.查看添加内容 :select * from 表名
B.表格中插入数据内容:
1. .insert into 表名 values(添加内容)
insert into xs values();
2. 当我们插入数据时,如果给每一列都提供了值。那么我们可以缺省列明表
3. 注:
如果该列为primary key,则该列不能为null
有默认值的列,在插入的时候可以使用default
允许为null的列 在插入的时候可以使用null
C.插入列表内容
insert int tab1(id) values("10010");//za在id列插入10010
D.修改表格
mysql>alter table tab1
->add column sex tinyint not null default 0;//插入名字为 sex 的一列
(default默认值)
E.删除表
dorp table if exists 表名
F.显示当前数据库下的表
show tables
show tables from 数据库名
G.
查看某一张表的结构(咩一个字段的结构特征)
show columns from xs;查看当前数据库下的表的结构ub1的表结构
show columns from xsm.tab1;
H. 1。表创建
create table if not exists 数据库名。
删除表 n
dorp table if exists 表名
显示当前数据库下的表
show tables
show tables from 数据库名
查看某一张表的结构(咩一个字段的结构特征)
show columns from xs;查看当前数据库下的表的结构ub1的表结构
show columns from xsm.tab1;
插入数据到列表中
insert into 表名 values(列表所对应的值)
insert into xs(sid,sname,ssex,sbirthday,memo)values('100','zhangsan','0','1980-06-04','特长:跑步')
当我们插入数据时,如果给每一列都提供了值。那么我们可以缺省列明表
insert into xs values('123','lisi','1','1856-12-05','特长:跳舞');
(1)如果该列为primary key,则该列不能为null
(2)有默认值的列,在插入的时候可以使用default
(3)允许为null的列 在插入的时候可以使用null
如果插入数据时,并没有给每一列都提供值,这时列名表是不能缺省的
错误: insert into xs(sid,sbirthday)values('1000','1992-05-05');
原因:sname列 not null,并且还没有默认值,但在插入数据时没有给该
可以一次插入多条记录
insert into xs(sid,sname,ssex,smenmo)values('1001','aaa','1','aaa'),('1002','bbb','2'.'bbb');
通过set子句指明要插入的一行记录中的每一列的值
insert into xs
set sid ='10012',snsme='ddd',smemo='dddd',ssex=0;
替换数据
修改结构
(1)增加列
alter table 表名xs
add column 列表名 类型 特性;
(2)对已有列进行修改:设置或删除字段默认值。修改已有列名字。修改已有列的类型和属性
alter table xs
alter column sbirthday set default'1992-1-1';
alter table xs
alter column ssex drop default;
修改列名
alter table
change column memo smemo text;
修改列的类型
alter table xs
modify column smeno varchar(522) not null;
修改属性
alter ignore table xs
modify column smemo text not null
(3)删除已有列
alter table xs
drop column 列名
(4)表格重命名
alter table xs
rename to student
7,查询表数据
select * from表名
select 列名,列名....from 表名 显示表格中指定列的数据
8.修改表格命令
reanme table student to sx;
9.表格的复制-复制的是表结构
create table if not exists student like xs;复制的是表结构 包括表中有那些列,列的类型,一级在列上创建的那些约束
10.、表格的复制-复制的是表格里的数据
create table if not exists st as
(select * from xs);
11.删除表格中的数据
删除符合条件的行
delete from xs
where ssex=1; 删除所有性别是1的行删除
delete from xs
where sid='100';删除学号是100的行
truncate table xs; 删除表格里的所有数据。效率高
delete from xs; 删除表格里的所有数据
12,修改表格里的数据
update xs
set ssex=1
where sid='100';讲学号为100的学生的性别改为1;
update xs
set sbirthday="1990-8-8"
where ssex=0;讲出生日期为1990-8-8的学生性别改为0;
14.describe用于显示表格的结构(简写desc)
desc xs;
desc xs sid;