广州37期_樊家杰 发表于 2021-12-15 19:11:38

Mysql

常见的数据库:Mysql(免费)、Oracle(甲骨文)---收费   美[ˈɔrək(ə)l]   、sql server(如果公司是使用Linux系统就不会选择SQL server数据库)Redis缓存数据库(非关系型数据库) Mysql服务的启动、关闭、重启、查询状态的操作file:///C:/Users/Jay/AppData/Local/Temp/msohtmlclip1/01/clip_image002.jpg servicemysqld start ==》启动mysql服务servicemysqld status ==》查看mysql服务状态servicemysqld restart ==》重启mysql 服务servicemysqld stop ==》停止mysql服务 登录mysql:第一次登录(未设置密码):不需要输入密码mysql-uroot -p file:///C:/Users/Jay/AppData/Local/Temp/msohtmlclip1/01/clip_image004.jpg 退出mysql有三种方式:quit 、exit 、Ctrl+C 设置MYSQL的用户密码:mysqladmin -uroot password '123456' file:///C:/Users/Jay/AppData/Local/Temp/msohtmlclip1/01/clip_image006.jpg 设置密码以后就不能第一种方法(无密码的方法)进入 设置密码后的登录:要输入密码两种方式:1.密文方式:mysql -uroot -p   加回车键输入密码2.明文方法:mysql -uroot -p123456-u表示mysql的用户,-p表示密码 不需要操作,如果忘记密码,可以在/etc/my.cnf文件中的第2行添加以下代码,必须要正确添加代码,然后重启mysql服务,可以跳过验证直接进入mysqlskip-grant-tables -------sql语句---------要进入mysql页面操作的指令每一条sql语句都是以 ' ; ' 结束,在' ; ' 之前的字母都可以被mysql理解为同一条sql语句的内容 showdatabases;==》查看所有的库file:///C:/Users/Jay/AppData/Local/Temp/msohtmlclip1/01/clip_image008.jpg use +库名; ==》进入某个库,才可以对苦衷的表进行操作 show tables; ==》展示所有的表:查看当前库中所有的表file:///C:/Users/Jay/AppData/Local/Temp/msohtmlclip1/01/clip_image010.jpg 库的形象示意图:file:///C:/Users/Jay/AppData/Local/Temp/msohtmlclip1/01/clip_image012.jpg createdatabase新的库名;===》创建数据库      xx库file:///C:/Users/Jay/AppData/Local/Temp/msohtmlclip1/01/clip_image014.jpg selectdatabase();==》查询当前所使用的库 createtable表名(字段名1字断格式,字段名2 字段格式,。。。);===》建表语句#创建文件命令    *后面需要加文件名 create tabletest    # 创建表 命名为test(      #包含着表的基本信息,字段名(列名),字段属性id int(10)primary key auto_increment,#id字段属性为int(10),是primary key,而且是auto_incrementnamevarchar(20) not null,#name字段属性为varchar(20),是not null约束,非空约束scorefloat(20,2),#score字段,属性为float(20,2)phonebigint(20) default 17633338888#phone字段属性为bigint(20) 是默认值约束,默认填入17633338888); -----------数据类型------------ file:///C:/Users/Jay/AppData/Local/Temp/msohtmlclip1/01/clip_image016.gifint(10) ==》数据宽度为10的整型,整数型,mysql保存数字的数据的一个长度,占4个字节varchar(20)==》可变长字符串,对应的值是可以为任意的数据(字母,中文、特殊字符,空格等等),插入数据时要使用引号'',在引号''里面写入数据,后面的20表示字符长度,一个字母占一个字符长度,中文utf-8编码占3个字符,GBK编码占2个字符char==》定长字符串,也是保存字符串 varchar(可变长字符串)和char(定长字符串)的区别:char固定占磁盘255个字符,varchar最大占2^16次方个字符char的查询性能会好些,但是不节约资源varcar的性能差一点,但是节约资源,可以保存0~65535个字符 float(20,2)==》浮点型,保存小数,最大占4个字节,(20,2)表示数据宽度可以保存20,2表示小数点后两位double ==》浮点型,保存小数,最大占8个字节bigint(20)==》大数字,整型,整数型,占8个字节date ==》保存日期固定格式 YYYY-MM-DD -----------常见的约束----------------- file:///C:/Users/Jay/AppData/Local/Temp/msohtmlclip1/01/clip_image018.gif常见的约束:primary key==》主键约束,一个表中只有一个主键,说明这个字段是这个表的主键,整一列的数据是唯一的,不重复,而且不能为空auto_increment==》自增长约束,要结合着主键使用,只能作用于整型数据notnull==》非空约束 必填信息,不能不填default   ==》默认值约束,如果不对该字段插入值,那么就直接插入默认值一个字节 000000004个字节 0000 0000 0000 0000 0000 0000 0000 0000    1111 1111 1111 1111 1111 1111 1111 1111 int型最大保存的数字范围是-2^31~2^31 = ±2147483647(10位数,超过10位数就使用bigint) create table test(id int(10) primary key auto_increment,name varchar(20) not null,score float(20,2),phone bigint(20) default 17633338888);==》生成下面表格 desc +表名;==》查看表结构 查看test表的表结构file:///C:/Users/Jay/AppData/Local/Temp/msohtmlclip1/01/clip_image020.jpg ----------------------- 表结构的操作:altertable==》修改表,改变表的结构alter tabletest rename test1;==》把test表重命名为test1altertabletest1 rename test;==》把test1表重命名为testfile:///C:/Users/Jay/AppData/Local/Temp/msohtmlclip1/01/clip_image022.jpg alter tabletest change id sid int(10); ==》把id字段名修改为sid,并去掉自增长约束file:///C:/Users/Jay/AppData/Local/Temp/msohtmlclip1/01/clip_image024.jpg alter tabletestchange sid sid int(10)auto_increment;==》改变sid字段,增加自增长约束file:///C:/Users/Jay/AppData/Local/Temp/msohtmlclip1/01/clip_image026.jpg alter tabletest add time date;==》对test表增加time字段类型为date型file:///C:/Users/Jay/AppData/Local/Temp/msohtmlclip1/01/clip_image028.jpg alter tabletest add class int(10) first;==》对test表增加class字段类型为int(10),first表示放在第一位file:///C:/Users/Jay/AppData/Local/Temp/msohtmlclip1/01/clip_image030.jpg alter tabletest add sex varchar(6) after class; ==>增加sex字段类型为varchar(6) 放在class字段后面file:///C:/Users/Jay/AppData/Local/Temp/msohtmlclip1/01/clip_image032.jpg alter tabletest drop sex; ==》对test表丢弃 sex字段file:///C:/Users/Jay/AppData/Local/Temp/msohtmlclip1/01/clip_image034.jpg alter tabletest add(sex varchar(6),age int(4)); ==》对test表 同时增加sex和age字段file:///C:/Users/Jay/AppData/Local/Temp/msohtmlclip1/01/clip_image036.jpg alter tabletest drop sex,drop age; ==》对test表同时删除sex字段和删除age字段file:///C:/Users/Jay/AppData/Local/Temp/msohtmlclip1/01/clip_image038.jpg ----------------------------------------------- alter tabletest modify class varchar(10) after name; ==》修改class字段的属性为varchar(10),并放在name字段后面 *modify和change 都是可以修改表的定义,但是change需要写两次字段名,不是很方便。change的优点是可以修改字段名,modify则不行,只能修改字段属性 file:///C:/Users/Jay/AppData/Local/Temp/msohtmlclip1/01/clip_image040.jpg drop table +表名;==》丢弃表,删除表dropdatabase +库名;==》丢弃库,删除库file:///C:/Users/Jay/AppData/Local/Temp/msohtmlclip1/01/clip_image042.jpg -----------------删除主键约束---------------- 删除主键约束:alter tabletest change sid sid int(10); file:///C:/Users/Jay/AppData/Local/Temp/msohtmlclip1/01/clip_image044.jpg 增加主键和自增长约束:alter tabletest change sid sid int(10) primary key auto_increment;file:///C:/Users/Jay/AppData/Local/Temp/msohtmlclip1/01/clip_image046.jpg --------------------------------------------------------对表中的数据进行操作-----增删查改增 insert into ==》测试过程,经常要插入一些测试数据供我们使用注意:插入数据时,如果字段类型为char、varchar、date型需要加单引号或双引号 查select==》测试过程,我们经常要检查数据库中有没有对应的数据select*formtest 表明;===》查询   所有字段的值   来自于某个表 插入数据的2种方法:第一种:insert into 表名 insert intotest(sid,name,class,score,phone,time)values(1,'xiaomai','dcs37',88.8878,18966667777,2021-12-15);insert into 表名(字段1,字段2,字段3...) values(值1,值2,值3....);===>要求,值和字段要一一对应着file:///C:/Users/Jay/AppData/Local/Temp/msohtmlclip1/01/clip_image048.jpg 第二种:假设表的字段特别多,就不建议使用这种方法insert into 表名 values(值1,值2,值3....); ===》要求:对表结构要熟悉,因为不写字段名时,插入的值要一一对应着表结构中字段的默认顺序,而且需要对表中所有的字段进行插入值 file:///C:/Users/Jay/AppData/Local/Temp/msohtmlclip1/01/clip_image050.jpg file:///C:/Users/Jay/AppData/Local/Temp/msohtmlclip1/01/clip_image052.jpg file:///C:/Users/Jay/AppData/Local/Temp/msohtmlclip1/01/clip_image054.jpg file:///C:/Users/Jay/AppData/Local/Temp/msohtmlclip1/01/clip_image056.jpg file:///C:/Users/Jay/AppData/Local/Temp/msohtmlclip1/01/clip_image058.jpg
页: [1]
查看完整版本: Mysql