当前位置:Gxlcms > 数据库问题 > mysql基础笔记

mysql基础笔记

时间:2021-07-01 10:21:17 帮助过:6人阅读

mysql如何连接?
(cmd)>>>mysql -h localhost -u username -p password
-h 如果不写,默认则是localhost
以;或者/g命令结束
\c退出
显示多个数据库:show databases;
创建一个数据库表:create database 表名;如:create database p1;
当出现这个信息是“ERROR 1064 (42000): You have an error in your SQL syntax; check the
manual that
corresponds to your MySQL server version for the right syntax to use near ‘datab
ases p1‘ at line 1”
必须重新连接mysql,要写完整mysql -h localhost -u username -p password这个,不然无法创建数据

选择数据库表名:use 表名;如use p1;
查看库:show tables;
删除某个库:drop databases 表名;
修改某个库:无法修改
修改表名:rename table oldName to newName;
查看某个库下面的所有的表:show tables;
如何删除一张表:drop table 表名;
清空表数据: truncate 表名
在于 truncate相当于删表再重建一张同样结构的表,操作后得到一张全新表.
而delete是从删除所有的层面来操作的.
Trucate相当于把旧的学籍表扔了重画一张,
Delete相当于用橡皮把学籍表的数据库擦掉.
如果决定全清空的下,truncate速度更快一些.

创建一个表语句
create table 表名(name1 数据类型1,name2 数据类型2,
....namen 数据类型n)ngine myisam charset utf8;///engine是指表引擎,
查看表结构:desc tableName;

如何破解数据库的密码:
1:通过任务管理器或者服务管理,关掉mysqld(服务进程)
2:通过命令行+特殊参数开启mysqld
Mysqld --skip-grant-tables
3:此时,mysqld服务进程已经打开,并且,不需要权限检查.
4:mysql -uroot 无密码登陆服务器.
5: 修改权限表
A: use mysql;
B:update user set Password = password(‘11111‘) where User = ‘root‘;
C:flush privileges;

--------------
修改表的语法
Alter table 表名 add 列名称 列类型 列参数; [加的列在表的最后
Alter table 表名 add 列名称 列类型 列参数 after 某列 [把新列加在某列后]
Alter table 表名 add 列名称 列类型 列参数 first [把新列加在最前面]
删除列:
Alter table 表名 drop 列名
修改列类型:
Alter table 表名 modify 列名 新类型 新参数
修改列名及列类型
Alter table 表名 change 旧列名 新列名 新类型 新参数

如何让表中不出现null值:加not null default ‘‘ / default 0

为什么不想要的null的值
答:
不好比较,null是一种类型,比较时,只能用专门的is null 和 is not null来比较.
碰到运算符,一律返回null
效率不高,影响提高索引效果.

因此,我们往往,在建表时 not null default ‘‘/0
--------------

声明字符集
set names 类型(gbk/utf-8)
增加数据

insert into 表名(列1,列2,...,列n) values(值1,值2,....,值n);
插入多行,如下
insert into 表名(列1,列2,...,列n) values(值1,值2,....,值n),(值a,值b,值c,...,值an);
更新
udate 表名
set 列1=新的信息1,列2=信息2 where 名字=新值;

查询
select*from 表名;
select 列1,列2,列n from 表名;
select*from 表名 where 表达式;
select 列1,列2,列n from 表名 where表达式;
删除
def from 表名 where 表达式;

列类型
整形
类型 字节 位 无符号 有符号
tinyint 1 8 0-2的8次-1 -2的7次到2的次7-1
smallint 2 16 0-2的16-1 -2的15到2的15-1
mediumint3 24 0到2的24-1 -2的24到2的24-1
int 4 32 0的2的32次-1 -2的32到2的32-1


tinyint默认是有符号的:-128到127
整形参数可选属性
tinyint(M)unsigned zerofill
M:表示宽度(zerofill,0填充时才有意义)
unsigned:无符号类型(非负)
zerofill:0填充(默认无符号)
not null default 0设置默认值为0
列类型primary key auto_increment 设置为主键,自增长


比较null的方法
null is null
or
null is not null

浮点
float(M,D)
decimal(M,D)更精确
M精度
D标度
例(6,2):6666.66

mysql基础笔记

标签:

人气教程排行