MySQL的基本操作
数据库操作
1.查看数据库
查看MySQL中有什么数据库:show databases;
2.创建数据库
创建数据库: create database nihao;(创建名称为nihao的数据库)
3.使用数据库
假设要使用nihao数据库:use nihao;
4.删除数据库
假设要删除nihao的数据库:drop database nihao;
表操作
1.查看某个数据库中有多少表格:
Eg.看nihao数据库中有多少表格;
1)首先切换到nihao数据库:use nihao;
2)显示nihao数据库中的表格:show tables;
2.创建表格
创建表格时要注意格式,同时创建表时要有表字段
Eg:在nihao数据库创建一个含有id和name字段的namelist的表格;
Mysql>create table namelist(
->id int;
->name varchar(30)
->);
3.查看一个表中的字段
查看namelist表中的字段:desc namelist;
4.插入数据
在namelist表格中插入一个id为1,name为wang的数据:
Insert into namelist (id,name) values (1,”wang”)
5.查看表中数据
查看namelist中的所有数据:select * from namelist;
查看namelist中所有id为2的数据: select * from namelist where id = 2;
查看Id的所有记录: select id from namelist;
6.更改表中数据
Eg:将namelist数据表中id为1的名字更新为zhao:
update namelist set name =”zhao” where id = 1;
7.删除数据
Eg:删除表namelist中id为1的数据:
mysql>delete from namelist where id = 1;
8.修改表名称
Eg:将表namelist的名称改为nl: rename table namelist to nl;
9.添加和删除表字段
1.在n2表中增加address字段:
mysql>alter table n2 add address varchar(30);
2.在n2表中删除address/tele字段:
mysql>alter table n2 drop address;
10.修改字段属性
将age改为默认值为20:
mysql> alter table n2 modify age int not null default 20;
出现错误:ERROR 1265 (01000): Data truncated for column 'age' at row 1
原因???
解决办法: (之前没有设置字段属性,系统默认为null,所以先更改下age的值,之后再修改字段属性)
mysql>update n2 set age=20 where age is null;
mysql> alter table n2 modify age int not null default 20;
11.修改表字段(更改列名)
将字段sex改为xb:mysql>alter table n2 change sex xb varchar(30);
字符集
字符串
1.char(n):最大225个字节,n为多少,则占用多少个字节,检索速度块
2.varchar(n):存储为L+1,占用的字节和实际输入有关,输入多少个字节,就占多少个字节.
char和varchar赋值时增加双引号或单引号.
3.text:65535字节,2的16次方,存储为L+2
4.longtext:42亿字节.
日期和时间
date
time
year
datetime
timestamp
//建议日期类型存储为int.
数据字段属性
unsigned
//无符号,全是正数
zerofill
//零填充,eg:int(3),输入1时,由1变成001;
null
//这一列值允许为null
no null
//这一列值不允许为null
在表中增加列,设置其值默认不能为空:
default
//默认值
auto_increment
//自动累加 正数
索引
主键索引
定义主键索引
l一般在创建表的时候定义好表的主键索引(主键自增是一体的,所以前期设计诗就设计好)
mysql>create table n2(
->id int,
->name varchar(30)
->primary key(id),
->index in_name(name)
->);
查看再检索时检索了多少行:
desc select * from n2 where id = 3;
rows:1---检索id=3的数据时只检索了一行
普通索引
添加普通索引
添加name字段为普通索引:
mysql>alter table n2 add index in_name(name);
删除普通索引
添加name字段为普通索引:
mysql>alter table n2 drop index in_name;