一、数据库连接
每次打开数据库 都需要输入输入用户名和密码 然后设置gbk(第一次设置即可)
mysql -hlocalhost -uroot -p
set names gbk;
二、数据库操作
- 查看数据数据库
show database;
- 创建数据库
create database 数据库名 charset utf8;
- 删除现有数据库
drop database 数据库名;
- 修改现有数据库
修改数据库,其实只是修改数据库的字符编码或校队规则 其实一般不需要修改
alter database 数据库名 charset 新的字符集名称 collate 新的校队规则;
- 使用数据库
use 数据名;
- 其他数据库操作
show charset; 查看可用字符集
show collation; 查看可用校对规则
show create database 数据库名;查看库创建信息
三、表操作
数据库 只是一个外壳,除了有个数据库名称和字符集设定,基本没有别的信息了。数据表才是存储数据的具体容器。
- 查看所有表
show tables;
- 创建表
1.字段的形式为:字段名 字段类型 [字段属性] 创建表必须最低有一个字段 否则报错、 字段都需要用()包裹起来
2.charset字符集包括:utf8、gbk、big5等。默认不写 就是默认了
3.engine表类型包括:InnoDB,MyIsam、BDB等默认是InnoDB 可以不写
create table 表名 (字段,字段2) charset utf8 ;
例如:
create table user (id int); -创建user表
- 删除表
drop table 表名;
- 修改表
修改表主要是修改表名、添加字段、修改字段、删除字段、修改表的字符集。
1.修改表名
2.添加字段alter table 表名 rename 新表名;
新增字段 使用 after、first时候 不能用括号()包裹新增的字段 不然sql执行失败
3.修改字段alter table 表名 add 字段; 例如: alter table login add sex int; alter table login add (sex int); --- 加括号包裹也可以的 添加字段的位置 可以根据关键字 after、first来控制字段的顺序 alter table login add male int after age; ---这里的新增字段不能加()括号包裹不然sql执行失败。
change 相当于替换之前的字段名和字段信息、 modify 修改字段信息
4.删除字段alter table 表名 change 旧字段名 新字段名 字段类型; alter table 表名 modify 修改的字段名 字段类型; 例如: alter table login change sig newsig int; ---可以把之前sig 字段修改成int类型的 字段名切换newsig,位置保持不变 alter table login2 modify sex varchar(10);
5.修改表的字符集alter table 表名 drop 字段名; 例如: alter table login2 drop sig1;
alter table 表名 charset 新字符集; 例如: alter table login2 charset utf8; show create table login2; ---- 查看修改后的结果
- 其他表操作
des 表名; ---- 查看表结构
show create table 表名; ----查看表的创建语句
四、数据操作
数据都是存储在数据表中。数据的基本操作有4中:增(插入insert)、删(删除delete)、改(修改update)、查(查询select)。即所谓的CRUD:create、retrieve、update、delete。
- 插入数据
语句形式:insert into 表名(字段1,字段2,......) values(数据1,数据2,......);
说明:
1.字段名和数据是一一对应的 奥康:数量一致,顺序一致,类型匹配
2.对于要写入的数据,字符串和时间日期类型 要用单引号引起来
3.可以省略“字段列表”部分,此时就需要给字段数量一样多的数据
4.设置表的charset gbk才能写中文数据 utf8好像不行 cmd下这个以后看看 我插入数据先把表charset设置gbk例如:先查看 select *from 表名 查看表内所有数据 insert into login(name,age,sex) values('mosi',2,2); ---- //全体赋值 insert into login(name,sex) values('mosi',2);---赋值一部分 insert into login(sex) value(2); ---- 赋值单个 values不行 改成value insert into login(age,name) values(4,'bst'); ----顺序可以颠倒 insert into login values('dog',20,2); ---- 必须所有字段对应上
- 查询数据
语句形式:select 字段,字段2 form 表名 [where 条件]
说明:
1.select后的字段必须是表中字段列表中的字段
2.select 后可以使用一个 * 代表取出表中所有字段
3.where 条件表示取出的数据所应满足的条件,比如:where id < 10 表示取出那些字段id的值要小于10的行。
4.where可以不写代表取出所有行的数据。select name from login; ----取出name字段所有值 select name,age from login; ----取出name和age字段值 select * from login; ----取出表中所有值 select name,age from login where age > 10; ---取出name和age的值中其中age 大于10的值
- 查询数据
- 删除数据
语句形式:delete from 表名 [where 条件];
说明:
1.删除剧指的是删除表的某些行
2.where 条件表示删除数据所应满足的条件,含义跟select中的一样。
3.where 条件不写 如果不写 则会删除所有数据 - 不要轻易删库跑路delete from login where age < 5; --- 删除age 小于5的数据 delete from login; ---- 删除所有数据啦
- 修改数据
语句形式:update 表名 set 字段名 = 新值,字段名 = 新值 ... [where 条件];
说明:
1.修改数据指的是修改表的某些行的某些字段
2.where 条件表示修改数据所应满足条件 不写则是所有数据update login set age = 26 where name = 'yuanli'; --- 设置yuanli年龄是26
网友评论