mysql下的user表就是存放着登陆的信息,包括账号和密码
在mysql的data文件夹下建立一个数据库,并且建立新的数据表
1、use mysql #进入mysql文件夹
2、show databases; # 查看data文件夹下所有的数据库,确认自己想建立的表存不存在
3、create database db1 default charset utf8; #建立db1数据库
PS:default是一个固定写法,就是定义字符类型,这样在存储中文时候不会乱码
4、use db1 #进入这个数据库文件夹
5、create table test1(
#这里可以加注释,就是# + 内容
id int unsigned auto_increment primary key,
name char(32) not null default '',
age int #最后一列不能有逗号,有逗号会报错
) charset utf8; #这里括号后面必须有分号,这个语法格式是新建数据表的固定语法,最后也可以加个charset utf8(加不加都可)
6、insert into test1(name,age) values('你好',17); #插入数据
语法解析()
第一行:id就是表示列名,而且对列规定只能填写整数并且默认取值范围(int) auto_increment就是表示这一列的序号是从1到100自增的 primary key是表示对这一列进行一个约束表示主键 unsingned 代表int的取值范围采用不带符号的
第二行:name表示列名,char 后面自定的参数,32就是代表这一列最大的长度只能是32个字符,超过长度超出部分就舍弃 not null就是表示这一列不能有空值(不写就是默认null值) default 就是表示默认值
PS:最后一列不能有逗号,有逗号会报错
PS:这样就生成了一张数据表test1
在数据表增加数据
查看数据表中的数据:
select * from db1 #select就是查看的意思,*就是正则匹配所有的列,from test1就是查看test1表中的
1、use db1 #进入需要增加数据的表
2、增加数据
4、select * from db1 #查看表内所有的列
************************************************************************ 补充 *****************************************************************************************************************************
创建表的语法就是 列名 + [列类型] + [auto_increment] + [not null] + [default] #这个就是常规的默认写法
列类型分为3大类:
1、整数型
int tinyint samallint bigint float decimal
整数型几个类型的区别就是范围是不一样的
什么是不带符号,就是没有正负号
float #就是存科学计算的值
PS:缺点是有一定的概率存储的时候会数据混乱
decimal(M,D) #M代表值一共有几位可以自定位数,D代表小数点后面精确到几位可以自定位数
PS:在存储科学计算值得时候不会混乱
2、字符串型
char() #固定数据长度,超过规定长度舍弃
varchar() #表示这里存储的字符串是可变的,虽然可以指定长度,但是会根据实际的字符串长度来动态的变化长度
PS:效率上char效率高,varchar因为要另外开辟一个内存空间来存储提交字符串的大小所以效率相对低
PS:一般的使用场景,比如用户注册的时候,密码长度肯定是不固定的,在后台肯定是被转成MD5加密再保存的,然后MD5加密的长度是固定的32个,这时候选择char效率会很高
3、时间类型
************************************************************************ 补充 *****************************************************************************************************************************