cmd 进入方式连接数据库 -h主机地址 -u用户名 -p密码 这种形式进来才有权限去创建数据库
show databases; 查看mysql中管理了多少数据库
use 数据库名称; 打开数据库
show tables; 查看当前打开的数据库到底有多少张表
desc 表名称 ; 查看某张表的结构
create database 数据库名称 charset utf8; 创建一个数据库
注意:字符编码utf8 中间没有 "-" ;
drop database 数据库名称;
常见的数据类型
存字符串
char(32) 存一个定长的字符串(长度为6) 如果字符串的长度超出6以后 不让保存 如果长度没有6 占用空间也是6
varchar(6) 存一个变长的字符串(最长6) 如果字符串的长度超过6以后 不让保存 如果没有超过6 占用的空间就是实际的字符串的长度
应用场景:如果知道存的数据的长度 用char 如果不知道 用varchar()
存整数
tinyint(-128--127)
smallint(-32768--32767)
mediumint(-8388608--8388607)
int(-2147483648-- 2147483647)
bigint(-9223372036854775808-- 9223372036854775807)
存小数(浮点数)
double[(s,p)]:数字型, 精度(p)和有效位数(s)
double(5,2) 有效位数:整数加小数一共有多少位 精度 小数位数
存时间 存日期: date 存日期时间: datetime
创建表的时候的附加属性
1 primary key 主键(确定当前字段里面的内容的唯一性) 身份证(id) 方便查找到具体的某一条数据
2 auto_increment 自动增长 (保证自动生成的值和其他的值不重复)
3 not null 设置自动不能为空(必须有值)
4 default "值" 默认值 如果没有值的时候 默认填入的一个值
创建表的语法:
create table 表名称(
字段名称1 字段类型 附加属性,
字段名称2 字段类型 附加属性,
字段名称3 字段类型 附加属性
)charset utf8;
查询数据表里面的数据
select 语句
1 查询出某张表(shangpin)里面的所有内容 //如果在cmd命令行里面如果出现乱码 set names gbk;
select * from shangpin; // * 表示所有内容
2 查询出某几个字段的信息,例如商品表里面 id mingZi fenLei 语法: select 字段1,字段2,字段.. from shangpin
select id,mingZi,fenLei from shanpin;
3 给查询出来的字段取别名 select 字段1(列) as 别名1,字段2 as 别名2,字段3 as 别名3... from shangpin
select id,mingZi as name,fenLei as ca from shangpin;
注意:以上几个命名 查询出了数据表中所有的行(记录)数的信息
限制条件查询 只查询出满足条件的记录 加条件 用 where关键字 后面给条件 and(且 ) or(或者) not(非 取反)
4 查询出shangpin表中id小于 5的记录的所有信息
select * from shangpin where id <5 ; 查询出shangpin表中id小于5的记录的 id fenlei mingzi 信息
select id,mingZi,fenLei from shangpin where id < 5;
5 查询出 shangpin表中 id 为 5, 6, 9的商品的所有信息
select * from shangpin where id=5 or id=6 or id=9
注意:进行比较运算的时候,字符数据和时间日期数据同样需要用单引号引起来
6 查询出 shangpin表中 名字为 "罗技G9X" 记录 所有信息
select * from shangpin where mingZi = ‘罗技G9X‘;
对查询出的数据进行排序:在查询语句后加 order by 字段名称 升序(降序) (默认升序 降序 desc 升序asc)
7 查询出shangpin表中的所有信息(id) 并且根据id来进行降序显示
select * from shangpin order by id desc;
在查询出来的信息的基础上 限制(控制)显示的条数
语法: limit 起始行号, 要取的行数 (limit 加 select语句后面) 注意:起始位置 从0开始
8 查询出商品表中的id小于10的记录的所有信息,前三条信息
select * from shangpin where id<10 limit 0,3;
统计条数 count(*)
select count(*) from shangpin ;
增加记录(插入一条语句)
语法: insert into 表名(字段名1,字段名2...) values("值1","值2"...)
注意: 表名后面的括号可以省略,表示所有字段都要给值 值和表的字段要一一对应
例子: insert into admin values(null,"admin","123456")
或者 insert into admin(userName,password) values("admin","123");
修改记录中字段的值
语法: update 表名 SET 列名1= 值1 [,列名2 = 值2] … where 条件表达式
修改密码 需求:把admin表中id为2 的密码设置成123456789 ?
update admin set password = ‘123456789‘ where id =2;
注意:如果不加where条件就会把所有的记录都修改掉 必须加where
删除语句
语法: delete from 表名称 where 条件表达式
注意: 如果不加where条件 就会把所有记录都删掉